Local map updating method, mobile robot and chip

Through real-time comparison and fusion line laser point cloud data, the problem of high cost or low accuracy when building local maps by mobile robots is solved, and high-precision local map updates are achieved to ensure that the robot can avoid obstacles in real time and run smoothly.

CN119197509APending Publication Date: 2024-12-27AMICRO SEMICONDUCTOR CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310766489.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-27
Publication Date
2024-12-27

AI Technical Summary

Technical Problem

When creating local maps, existing mobile robots have high costs or low accuracy, making it difficult to achieve low-cost and high-precision local map updates.

Method used

Through the comparison and fusion of real-time linear laser point cloud data with marked point cloud data in the local map, the local map is updated, and the single-camera single-line laser module is used to obtain point cloud data, reducing costs and improving accuracy.

Benefits of technology

Improve the accuracy of local maps, enable the robot to avoid obstacles in real time, operate smoother, reduce costs relative to lidar, and improve accuracy relative to visual sensors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119197509A_ABST
    Figure CN119197509A_ABST
Patent Text Reader

Abstract

The invention provides a local map updating method, a mobile robot and a chip, and the local map updating method greatly improves the precision of a local map through the comparison and fusion of real-time line laser point cloud data and point cloud data marked in the local map, so that the robot can avoid obstacles in real time, and the operation is smoother. The local map updating method can be realized only through single-camera single-line laser (namely one line laser module), compared with a laser radar, the cost is reduced, and compared with a visual sensor, the precision is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of mobile robots, and in particular to a local map updating method, a mobile robot and a chip. Background Art

[0002] In SLAM technology, the robot mainly relies on the map established by the sensor for positioning and navigation. The map can be divided into two types: local map and global map. Among them, the global map records all the feature points since the SLAM operation. It is obviously larger in scale and is mainly used to express the entire environment. If the positioning is directly performed on the global map, the burden on the computer will be too great. The global map is mainly used for loop detection and map expression. The local map only retains the feature points close to the current position of the robot, and discards the feature points far away or out of the field of view, describing the feature point information near the robot. During the movement of the robot, it mainly adjusts its own movement path according to the obstacle position marked in the local map to avoid obstacles. However, the current robots mainly use laser radar or visual sensors to establish local maps. The former is high in cost and the latter is low in precision. It is urgent to develop a low-cost solution that can establish high-precision local maps. Summary of the invention

[0003] This application provides a local map updating method, a mobile robot and a chip. The specific technical solutions are as follows:

[0004] A local map updating method, the updating method comprising: step S1, obtaining line laser data of the current frame and processing it to obtain point cloud data that meets preset conditions; step S2, judging whether the current local map is an empty map, if so, using the point cloud data that meets the preset conditions to update the local map, if not, entering step S3; step S3, judging whether the degree of consistency between the point cloud data that meets the preset conditions and the point cloud data in the local map is within an error range, if not, updating the point cloud data that meets the preset conditions into the local map, if so, entering step S4; step S4, fusing the point cloud data that meets the preset conditions with the point cloud data in the local map, then clearing the local map and using the fused point cloud data to update the local map.

[0005] Furthermore, in the step S1, the line laser data of the current frame is obtained and processed to obtain the method of point cloud data that meets the preset conditions, including: step S11, after obtaining the line laser data of the current frame, retaining the point cloud data whose height exceeds the preset height; step S12, every preset angle, from one end of the line laser to the other end, taking a point cloud data at each angle, if there is only one point cloud data at an angle, then the point cloud data is the point cloud data that meets the preset conditions, if there are multiple point cloud data at an angle, then enter step S13; step S13, compare the distances between the multiple point cloud data and the robot, take the minimum distance value therein, perform mean filtering on the heights of the multiple point cloud data, obtain the average height value, and use the point cloud data with the minimum distance value and the average height value as the only point cloud data at the angle.

[0006] Furthermore, the step S2 also includes: when the current local map is not an empty map, determining whether the current position of the robot differs from the position of the robot when the local map is updated by more than a preset distance; if so, clearing the local map, and then using point cloud data that meets the preset conditions to update the local map; if not, entering step S3; wherein the robot records its world coordinates each time it acquires a line laser.

[0007] Furthermore, in step S4, the method for fusing the point cloud data that meets the preset conditions with the point cloud data in the local map includes: comparing the distances between the point cloud data that meets the preset conditions and the point cloud data in the local map and the robot at each angle, taking the minimum distance value therebetween, performing mean filtering on the heights of the point cloud data that meets the preset conditions and the point cloud data in the local map to obtain an average height value, and using the point cloud data with a distance of the minimum distance value and a height of the average height value as the only point cloud data at the angle to obtain fused point cloud data.

[0008] Furthermore, the updating method also includes: when the distance between the robot and the point cloud data marked in the local map is less than a preset distance, the robot triggers obstacle avoidance and clears the current local map, otherwise the current local map is retained.

[0009] A mobile robot is used to implement the local map updating method. The mobile robot comprises a line laser module, and the line laser module is used to obtain point cloud data.

[0010] Furthermore, the line laser module is arranged at the front end of the mobile robot, and the line laser emitted by the line laser module is a horizontal straight line slanting downward.

[0011] Furthermore, the number of the line laser module is 1.

[0012] Furthermore, the model of the line laser module is ALF02-S, which includes a straight line laser and a camera.

[0013] A chip stores computer program code, which implements the local map updating method when executed.

[0014] The local map updating method described in the present application greatly improves the accuracy of the local map by comparing and fusing the real-time line laser point cloud data with the point cloud data marked in the local map, so that the robot can avoid obstacles in real time and run more smoothly. The present application can implement the local map updating method only with a single camera and a single line laser (i.e., a line laser module), which reduces the cost compared to laser radar and improves the accuracy compared to visual sensors. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 A flowchart of a local map updating method according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0016] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.

[0017] It should be understood that when used in this application, the term "comprising" indicates the presence of the described features, integral bodies, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integral bodies, steps, operations, elements, components and / or their collections. It should also be understood that the term "and / or" used in this application refers to any combination of one or more of the associated listed items and all possible combinations, and includes these combinations.

[0018] As used in this application, the term "if" can be interpreted as "when" or "uponce" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "uponce it is determined" or "in response to determining" or "uponce [described condition or event] is detected" or "in response to detecting [described condition or event]", depending on the context.

[0019] In addition, in the description of the present application, the terms "first", "second", "third", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance. The reference to "one embodiment" or "some embodiments" described in the specification of the present application means that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in the differences in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0020] In SLAM technology, the robot mainly relies on the map established by the sensor for positioning and navigation. The map can be divided into two types: local map and global map. Among them, the global map records all the feature points since the SLAM operation. It is obviously larger in scale and is mainly used to express the entire environment. If the positioning is directly performed on the global map, the burden on the computer will be too great. The global map is mainly used for loop detection and map expression. The local map only retains the feature points close to the current position of the robot, and discards the feature points far away or out of the field of view, describing the feature point information near the robot. During the movement of the robot, it mainly adjusts its own movement path according to the obstacle position marked in the local map to avoid obstacles. However, the current robots mainly use laser radar or visual sensors to establish local maps. The former is high in cost and the latter is low in precision. It is urgent to develop a low-cost solution that can establish high-precision local maps.

[0021] In order to solve the above technical problems, the present application provides a local map updating method, which greatly improves the accuracy of the local map by comparing and fusing the real-time line laser point cloud data with the point cloud data marked in the local map, so that the robot can avoid obstacles in real time and run more smoothly. Figure 1 As shown, the updating method includes:

[0022] Step S1, acquiring and processing the line laser data of the current frame to obtain point cloud data that meets preset conditions;

[0023] Step S2, determining whether the current local map is an empty map, if so, updating the local map using point cloud data that meets the preset conditions, if not, proceeding to step S3;

[0024] Step S3, whether the degree of agreement between the point cloud data meeting the preset conditions and the point cloud data in the local map is within the error range, if not, then the point cloud data meeting the preset conditions is updated into the local map, if yes, then proceed to step S4;

[0025] Step S4, fusing the point cloud data that meets the preset conditions with the point cloud data in the local map, then clearing the local map and updating the local map using the fused point cloud data.

[0026] Optionally, the local map is built on a map template. When there is no point cloud data on the map template, it is equivalent to an empty map. The point cloud data on the map template can be deleted, added, and modified. In this application, the local map is updated once each frame of line laser data is obtained.

[0027] It should be noted that the line laser data is generated by the line laser module, the module frame rate is 33 frames per second, the robot working speed is generally 300mm / s, and each frame is about 1cm apart. The line laser module emits an infrared laser through the laser transmitter and scans the target object, and then the receiver receives the reflected light and calculates the three-dimensional coordinate information of the target object based on the calibrated relative position between the receiver and the laser transmitter. It can obtain information such as height, distance and angle, thereby completing the precise positioning of the target object.

[0028] As one of the implementation modes, in the step S1, the method of obtaining the line laser data of the current frame and processing it to obtain the point cloud data that meets the preset conditions includes: step S11, after obtaining the line laser data of the current frame, retaining the point cloud data whose height exceeds the preset height; step S12, taking a point cloud data at each angle from one end of the line laser to the other end at every preset angle, if there is only one point cloud data at an angle, then the point cloud data is the point cloud data that meets the preset conditions, if there are multiple point cloud data at an angle, then enter step S13; step S13, compare the distance between multiple point cloud data and the robot, take the minimum distance value, perform mean filtering on the height of multiple point cloud data, obtain the average height value, and take the point cloud data with the minimum distance value and the average height value as the only point cloud data at the angle. Among them, it is known that the line laser module hits a straight line on the obstacle, and the straight line has two endpoints, and the point cloud data is selected from one end to the other end of the straight line. Preferably, a point cloud data is selected every 1 degree on the straight line to facilitate subsequent calculations. Preferably, in step S11, the preset height is 1.5 cm, and the robot can directly cross obstacles lower than 1.5 cm.

[0029] As one of the implementation modes, the step S2 also includes: when the current local map is not an empty map, determining whether the current position of the robot differs from the position of the robot when the local map is updated by more than a preset distance, if so, clearing the local map, and then using the point cloud data that meets the preset conditions to update the local map, if not, entering step S3; wherein the robot records its world coordinates each time it acquires a line laser. The position of the robot when updating the local map is the position of the robot when the last frame of line laser data is acquired. Preferably, the preset distance is the farthest distance detected by the line laser module, and the farthest distance is 10 cm. If the current robot recognizes an obstacle 10 cm away from the last time the obstacle was marked, the current local map situation is updated to avoid errors.

[0030] As one of the implementation modes, in the step S3, whether the degree of coincidence between the point cloud data that meets the preset conditions and the point cloud data in the local map is within the error range, if not, the point cloud data that meets the preset conditions is updated into the local map, if so, proceed to step S4. Among them, the degree of coincidence refers to the distance between the point cloud data at the same two positions. When the error is 0, the point cloud data at the same two positions overlap. By comparing the errors of the two frames of point cloud data, it can be determined whether the robot detects the same obstacle. When the error is large, it is considered that the current frame of point cloud data and the previous frame of point cloud data do not represent the same obstacle, so the current frame of point cloud data is updated into the local map. It should be noted that the previous frame of point cloud data is not cleared at this time. When the error is small, it is considered that the current frame of point cloud data and the previous frame of point cloud data represent the same obstacle, and the two frames of point cloud data need to be fused together.

[0031] Based on the above embodiment, in step S4, the method for fusing the point cloud data that meets the preset conditions with the point cloud data in the local map includes: comparing the distance between the point cloud data that meets the preset conditions and the point cloud data in the local map and the robot at each angle, taking the minimum distance value, performing mean filtering on the height of the point cloud data that meets the preset conditions and the point cloud data in the local map to obtain an average height value, and taking the point cloud data with the minimum distance value and the average height value as the only point cloud data at the angle to obtain the fused point cloud data. The method described in this embodiment fuses two frames of point cloud data representing the same obstacle together to reduce errors and improve map accuracy.

[0032] As one implementation method, the updating method further includes: when the distance between the robot and the point cloud data marked in the local map is less than a preset distance, the robot triggers obstacle avoidance and clears the current local map, otherwise the current local map is retained. It should be noted that the robot only clears the current local map, and the obstacles will still be marked in the grid map or the global map.

[0033] The present application provides a mobile robot, the mobile robot is used to implement the local map update method, the mobile robot includes a line laser module, and the line laser module is used to obtain point cloud data. The present application can implement the local map update method only through a single camera and a single line laser (i.e., a line laser module), which reduces the cost compared to a laser radar and improves the accuracy compared to a visual sensor.

[0034] As one embodiment, the line laser module is arranged at the front end of the mobile robot, and the line laser emitted by the module is a horizontal straight line slanting downward, so as to accurately obtain the position of the obstacle.

[0035] As one implementation method, the number of the line laser module is 1. A single line laser module can be used to obtain the rotation angle required for the robot to avoid obstacles, which has a simple structure, low cost, and high practical value.

[0036] As one implementation method, the line laser module is ALF02-S, which includes a straight line laser and a camera, has high precision and good effect. The camera is a camera specially used to receive infrared laser.

[0037] The present application also provides a chip, the chip stores a computer program code, and the computer program code implements the local map updating method when executed. The chip is set in the above-mentioned mobile robot, so that the mobile robot can greatly improve the accuracy of the local map by comparing and fusing the real-time line laser point cloud data with the point cloud data marked in the local map, so that the robot can avoid obstacles in real time and run more smoothly.

[0038] It will be understood by those skilled in the art that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and 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-mentioned methods. Among them, the references to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory ROM, programmable memory PROM, electrically programmable memory DPROM, electrically erasable programmable memory DDPROM or flash memory. Volatile memory may include random access memory RAM or external cache memory.

[0039] The technical features of the above embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0040] The above embodiments only express several embodiments of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the patent application. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application.

Claims

1. A local map updating method, characterized in that: The updating method comprises: Step S1, obtaining and processing the line laser data of the current frame to obtain point cloud data that meets preset conditions; Step S2, determining whether the current local map is an empty map, if so, updating the local map using point cloud data that meets the preset conditions, if not, proceeding to step S3; Step S3, whether the degree of agreement between the point cloud data meeting the preset conditions and the point cloud data in the local map is within the error range, if not, then the point cloud data meeting the preset conditions is updated into the local map, if yes, then proceed to step S4; Step S4, fusing the point cloud data that meets the preset conditions with the point cloud data in the local map, then clearing the local map and updating the local map with the fused point cloud data.

2. A local map updating method according to claim 1, characterized in that: In step S1, the method of acquiring and processing the line laser data of the current frame to obtain point cloud data that meets the preset conditions includes: Step S11, after acquiring the line laser data of the current frame, retaining the point cloud data whose height exceeds the preset height; Step S12, every preset angle, from one end to the other end of the line laser data, take a point cloud data at each angle. If there is only one point cloud data at an angle, then the point cloud data is the point cloud data that meets the preset conditions. If there are multiple point cloud data at one angle, go to step S13; Step S13, compare the distances between multiple point cloud data and the robot, take the minimum distance value, and perform mean filtering on the heights of multiple point cloud data to obtain the average height value. The point cloud data with the minimum distance value and the average height value is used as the only point cloud data at this angle.

3. A local map updating method according to claim 2, characterized in that: The step S2 further comprises: When the current local map is not an empty map, determine whether the current robot position differs from the robot position when the local map is updated by more than a preset distance. If so, clear the local map, and then use the point cloud data that meets the preset conditions to update the local map. If not, enter step S3; wherein the robot records its world coordinates each time it obtains a line laser.

4. A local map updating method according to claim 3, characterized in that: In step S4, the method of fusing the point cloud data satisfying the preset conditions with the point cloud data in the local map includes: At each angle, compare the distances between the point cloud data that meets the preset conditions and the point cloud data in the local map and the robot, take the minimum distance value, perform mean filtering on the heights of the point cloud data that meets the preset conditions and the point cloud data in the local map, and obtain the average height value. The point cloud data with the minimum distance value and the average height value is used as the only point cloud data at this angle to obtain the fused point cloud data.

5. A local map updating method according to claim 1, characterized in that: The updating method further comprises: When the distance between the robot and the point cloud data marked in the local map is less than the preset distance, the robot triggers obstacle avoidance and clears the current local map, otherwise the current local map is retained.

6. A mobile robot, characterized in that: The mobile robot is used to implement the local map updating method described in any one of claims 1 to 5, and the mobile robot includes a line laser module, and the line laser module is used to acquire point cloud data.

7. A mobile robot according to claim 6, characterized in that: The line laser module is arranged at the front end of the mobile robot, and the line laser emitted by the line laser module is a horizontal straight line slanting downward.

8. A mobile robot according to claim 7, characterized in that: The number of the line laser module is 1.

9. A mobile robot according to claim 8, characterized in that: The model of the line laser module is ALF02-S, which includes a straight line laser and a camera.

10. A chip storing computer program code, characterized in that: When the computer program code is executed, the local map updating method according to any one of claims 1 to 5 is implemented.