CN113932790A - Map updating method, device, system, electronic equipment and storage medium - Google Patents
Map updating method, device, system, electronic equipment and storage medium Download PDFInfo
- Publication number
- CN113932790A CN113932790A CN202111022563.7A CN202111022563A CN113932790A CN 113932790 A CN113932790 A CN 113932790A CN 202111022563 A CN202111022563 A CN 202111022563A CN 113932790 A CN113932790 A CN 113932790A
- Authority
- CN
- China
- Prior art keywords
- map
- global
- pose
- updating
- robot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 108
- 238000004590 computer program Methods 0.000 claims description 19
- 238000005516 engineering process Methods 0.000 abstract description 13
- 230000008569 process Effects 0.000 description 24
- 230000005540 biological transmission Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3841—Data obtained from two or more sources, e.g. probe vehicles
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3859—Differential updating map data
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
The application provides a map updating method, a map updating device, a map updating system, electronic equipment and a computer-readable storage medium, wherein the method comprises the following steps: acquiring an initial pose and sensor data of the robot in a current area; obtaining a global pose and a map matching score of the robot according to the initial pose, the sensor data and a global map; determining whether the scene of the current area changes or not according to the global pose or map matching score; and if the scene of the current area changes, updating the local map corresponding to the current area. By implementing the embodiment of the application, the problem that the robot cannot obtain an accurate pose due to dynamic changes of certain areas in the map constructed by the SLAM technology in the prior art can be solved, the map updating accuracy and updating efficiency can be improved, and the cost of manual composition is reduced.
Description
Technical Field
The present application relates to the field of robot map updating technologies, and in particular, to a map updating method, apparatus, system, electronic device, and computer-readable storage medium.
Background
Simultaneous Localization And Mapping (or Simultaneous Mapping And Localization) (SLAM) is a key technology for realizing a real fully autonomous mobile robot. SLAM-based laser navigation is one of the important trends. The robot can normally work only when the correct pose is acquired in an actual scene, a map constructed by the SLAM technology is required to provide a pose standard when the robot acquires the pose (the pose standard of the robot refers to the relative relation of the robot relative to a certain coordinate origin, and the map constructed by the SLAM technology provides the coordinate origin), and the map constructed by the SLAM technology can provide the global pose in real time and eliminate the accumulated error. However, in practical application, some scenes in the map constructed by the SLAM technology are continuously changed along with the increase of time, so that the robot cannot obtain an accurate matching pose (namely, the current scene is matched with the map) in the area, and even the pose precision of the robot in the dynamic area cannot meet the application requirement, so that the robot cannot normally work.
Disclosure of Invention
An object of the embodiments of the present application is to provide a map updating method, apparatus, system, electronic device, and computer-readable storage medium, which solve the problem that in the prior art, a robot cannot obtain an accurate pose due to dynamic changes in some areas in a map constructed by an SLAM technique.
In a first aspect, an embodiment of the present application provides a map updating method, where the method includes:
acquiring an initial pose and sensor data of the robot in a current area;
obtaining a global pose and a map matching score of the robot according to the initial pose, the sensor data and a global map;
determining whether the scene of the current area changes or not according to the global pose or map matching score;
and if the scene of the current area changes, updating the local map corresponding to the current area.
In the implementation process, the initial pose of the robot in the current area and the sensor data are obtained, so that the global pose and the map matching score of the robot are obtained, and finally the local map of the robot is updated according to the change condition of the scene. The problem that the robot cannot obtain an accurate pose due to dynamic changes of certain areas in the map constructed by the SLAM technology in the prior art can be solved, the map updating accuracy and efficiency can be improved, and the cost of manual composition is reduced.
Further, the determining whether the scene of the current area changes according to the global pose or map matching score includes:
judging whether the difference value of the global pose and the initial pose is smaller than a pose threshold value or whether the map matching score is larger than a map threshold value;
and if the difference value between the global pose and the initial pose is smaller than a pose threshold value or whether the map matching score is larger than a map threshold value, judging that the scene of the current area changes.
In the implementation process, whether the scene of the current area changes or not can be determined according to the difference value of the global pose and the initial pose or the map matching score, so that the accuracy and the effectiveness of scene change judgment are improved.
Further, the obtaining a global pose and a map matching score of the robot from the initial pose, the sensor data, and a global map includes:
obtaining a relative relationship between the sensor data and the global map, and the map matching score;
and obtaining the global pose of the robot according to the initial pose and the relative relation.
In the implementation process, the map matching score and the global pose of the robot can be obtained through the matching process of the sensor data and the global map.
Further, the updating the local map corresponding to the current area includes:
if the local map corresponding to the current area does not exist, constructing a new local map corresponding to the current area according to the global pose and the sensor data;
and if the local map corresponding to the current area exists, updating the local map corresponding to the current area according to the global pose and the sensor data.
In the above process, the new local map corresponding to the current area may be determined to be constructed or the local map corresponding to the current area may be updated according to whether the local map corresponding to the current area exists, so that the flexibility of map updating and the accuracy of map updating may be improved.
Further, the method further comprises:
and sending the updated local map corresponding to the current area to a server.
In the implementation process, the new local map or the updated local map is sent to the server, so that the server can update the global map in the server according to the updated local map, and the synchronization of the local map of the robot and the global map of the server can be realized.
Further, the method further comprises:
and when the number of times of updating the local map corresponding to the current area reaches a preset value, sending the updated local map to a server.
In the implementation process, whether the updated local map is sent to the server or not can be judged according to the number of times of updating the local map, so that the map updating accuracy can be improved, and the data volume of the updated map received by the server can be reduced.
Further, the acquiring of the initial pose of the robot in the current area includes:
acquiring the global pose of the robot at the last moment;
acquiring the variation of the current odometer of the robot;
and obtaining the initial pose of the robot according to the global pose at the last moment and the variation of the current odometer.
In the process, the initial pose of the robot can be accurately and quickly obtained by obtaining the global pose of the robot at the last moment and the variable quantity of the current odometer.
In a second aspect, an embodiment of the present application further provides a map updating method, where the method includes:
receiving a local map sent by a robot;
and if the corresponding area of the local map in the global map is an updatable area, updating the area in the global map according to the local map.
In the implementation process, the local map sent by a single or a plurality of robots is received, and the global map is updated according to the condition that whether the local map has an updatable area or not. In the process, the received local map sent by the robot is the local map updated by the robot, so that the map updating accuracy and efficiency can be improved, and the cost of manual composition is reduced.
Further, if the corresponding area of the local map in the global map is an updatable area, adding 1 to the update mark of the corresponding area of the local map;
the updating the region in the global map according to the local map comprises:
and if the value of the update mark of the area is greater than the update threshold, updating the area in the global map according to the local map.
In the implementation process, whether the map is updated or not can be determined according to the value of the update mark of the area, the situation that a single robot sends update information by mistake and the map is updated by mistake can be reduced, and the multiple robots can also perform update judgment on a certain area together.
Further, said updating the region in the global map according to the local map comprises:
determining a value corresponding to each grid in the local map;
and updating the area in the global map according to the value corresponding to each grid.
In the implementation process, the area is updated in the global map according to the value corresponding to each grid, so that the data volume of map updating can be reduced, and the efficiency of map updating is improved.
Further, the determining a value corresponding to each grid in the local map includes:
and determining an updated value corresponding to each grid of the region in the updated global map according to the value corresponding to each grid in the local map corresponding to the region received for multiple times.
In the implementation process, whether the region needs to be updated or not can be judged according to the value corresponding to each grid received for multiple times, so that the accuracy and the effectiveness of region updating judgment are improved.
Further, the method further comprises:
and sending the updated value corresponding to each grid in the area to the robot.
In the implementation process, only the update value of each grid in the area to be updated is sent to each robot in the area, and all the robots can update the local map according to the received update value of the grid to complete the map consistency of the multiple robots, so that the transmission of the whole update map can be replaced, the transmitted data volume is reduced, and the transmission efficiency is improved.
In a third aspect, an embodiment of the present application further provides a map updating apparatus, where the apparatus includes:
the acquisition module is used for acquiring the initial pose of the robot in the current area and sensor data;
the matching module is used for obtaining the global pose and the map matching score of the robot according to the initial pose, the sensor data and the global map;
the determining module is used for determining whether the scene of the current area changes according to the global pose or the map matching score;
and the updating module is used for updating the local map corresponding to the current area if the scene of the current area changes.
In the implementation process, the initial pose of the robot in the current area and the sensor data are obtained, so that the global pose and the map matching score of the robot are obtained, and finally the local map of the robot is updated according to the change condition of the scene. The problem that the robot cannot obtain an accurate pose due to dynamic changes of certain areas in the map constructed by the SLAM technology in the prior art can be solved, the map updating accuracy and efficiency can be improved, and the cost of manual composition is reduced.
In a fourth aspect, an embodiment of the present application further provides a map updating apparatus, where the apparatus includes:
the receiving module is used for receiving a local map sent by the robot;
and the updating module is used for updating the area in the global map according to the local map if the corresponding area of the local map in the global map is an updatable area.
In the implementation process, the local map sent by a single or multiple robots is received, and the global map is updated according to the situation that whether the local map has the updatable area or not. In the process, the received local map sent by the robot is the local map updated by the robot, so that the map updating accuracy and efficiency can be improved, and the cost of manual composition is reduced.
In a fifth aspect, an embodiment of the present application further provides a map updating system, including:
a robot for performing the map updating method of the first aspect; and the number of the first and second groups,
a server for executing the map updating method of the second aspect.
In the implementation process, the map updating system may include a robot and a server, the robot may implement the map updating method of the first aspect, and the server may implement the map updating method of the second aspect, and the server may obtain the global pose and the map matching score of the robot by obtaining the initial pose and the sensor data of the robot in the current area, and finally update the local map of the robot itself according to the change condition of the scene. The robot sends the updated local map to the server, and the server receives the local map sent by one or more robots and updates the global map according to the condition whether the local map has the updatable area or not. The problem that the robot cannot obtain an accurate pose due to dynamic changes of certain areas in the map constructed by the SLAM technology in the prior art can be solved, the map updating accuracy and efficiency can be improved, and the cost of manual composition is reduced.
In a sixth aspect, an embodiment of the present application further provides an electronic device, including a memory and a processor, where the memory is used to store a computer program, and the processor runs the computer program to enable the electronic device to execute the map updating method according to the first aspect or the map updating method according to the second aspect.
In a seventh aspect, this application further provides a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, the map updating method according to the first aspect or the map updating method according to the second aspect is implemented.
In an eighth aspect, an embodiment of the present application provides a computer program product, which when run on a computer, causes the computer to execute the map updating method according to the first aspect, or the map updating method according to the second aspect.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments of the present application will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and that those skilled in the art can also obtain other related drawings based on the drawings without inventive efforts.
Fig. 1 is a schematic flowchart of a map updating method according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a process of acquiring an initial pose of a robot in a current area and sensor data in an embodiment of the present application;
fig. 3 is a schematic structural diagram of a map updating apparatus according to an embodiment of the present application;
fig. 4 is a schematic flowchart of another map updating method provided in the embodiment of the present application;
FIG. 5 is a schematic diagram of a non-updated area in a local map according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of another map updating apparatus according to an embodiment of the present application;
fig. 7 is a schematic structural component diagram of an electronic device according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures. Meanwhile, in the description of the present application, the terms "first", "second", and the like are used only for distinguishing the description, and are not to be construed as indicating or implying relative importance.
The existing map updating method is mainly realized by manually reconstructing a new map, and meanwhile, a work site depends on the map created by the SLAM technology, a path needs to be re-planned and the work site needs to be drawn, so that the accuracy cannot be ensured; in addition, in the prior art, due to the fact that dynamic changes of certain areas in a map constructed by the SLAM technology cause that a robot cannot obtain an accurate pose, and the accuracy and the updating efficiency of map updating cannot be guaranteed.
Meanwhile, positioning And Mapping (SLAM for short) generally refers to a system that generates positioning And scene map information of its own position And posture by collecting And calculating data of various sensors on a robot or other carriers. SLAM technology is critical to the mobility and interaction capabilities of robots or other agents, and represents the basis for the above capabilities: knowing where, knowing how the surroundings and thus how to act autonomously in the next step. The method is widely applied to the fields of automatic driving, service robots, unmanned planes, Augmented Reality (AR)/Virtual Reality (VR), and the like.
It should be noted that all the defects of the above prior art solutions are the results of the careful practical study by the inventors, and therefore, the discovery process of the above problems and the solutions proposed by the following embodiments of the present application to the above problems should be the contribution of the inventors to the realization of the present application.
In view of the above problems in the prior art, the present application provides a map updating method, apparatus, system, electronic device and computer-readable storage medium.
Example one
Referring to fig. 1, an embodiment of the present application provides a map updating method, including:
s11, acquiring the initial pose and sensor data of the robot in the current area;
s12, obtaining the global pose and the map matching score of the robot according to the initial pose, the sensor data and the global map;
s13, determining whether the scene of the current area changes according to the global pose or the map matching score;
and S14, if the scene of the current area changes, updating the local map corresponding to the current area.
In the embodiment of the application, the global pose refers to the pose of the robot in a global map, and the initial pose refers to the initial pose of a given robot in the current area when the robot is started. The sensor of the robot can be a positioning sensor, which can include but is not limited to a laser radar, vision and other sensors, in an embodiment, a laser radar sensor is used as the positioning sensor of the robot, specifically, a two-dimensional laser sensor is used to obtain sensor data, the distance information between the robot and an obstacle under a certain environment can be directly obtained through laser scanning ranging, and the main working principle is to emit laser through a rotating reflector and measure the distance by measuring the time difference between the emitted light and the light reflected from the surface of an object. The laser radar has the advantages of high measurement precision, good directivity, no interference of ambient light and the like.
The map matching score is a matching degree of the sensor data and the global map, and specifically, the robot may obtain laser scanning distance data within a scanning range (scanning at a certain frequency within a certain angle range) of the two-dimensional laser sensor, and map the obtained laser scanning distance data on the global map (grid map) to obtain the map matching score.
Further, as shown in fig. 2, S11 includes:
s111, acquiring the global pose of the robot at the previous moment;
s112, acquiring the variation of the current odometer of the robot;
and S113, obtaining the initial pose of the robot according to the global pose at the previous moment and the variation of the current odometer.
Further, S112 includes:
acquiring linear velocity and angular velocity of the robot;
and obtaining the variation of the current odometer according to the linear speed and the angular speed.
Specifically, the global pose of the robot at the last moment is obtainedAnd acquiring the variation of the current odometer of the robot, wherein the linear velocity is acquired by an encoder of the robot, the angular velocity is acquired by a gyroscope of the robot, and the linear velocity and the angular velocity are pre-integrated to obtain ti-1To tiMileage meter variation amount ofIn turn according toAcquiring initial pose of robotAlternatively, the encoder may employ a wheel encoder.
S12 further includes:
obtaining the relative relation between the sensor data and a global map and a map matching score;
and obtaining the global pose of the robot according to the initial pose and the relative relation.
The sensor data is acquired by a two-dimensional laser sensor of the robot, the two-dimensional laser sensor is a sensor for acquiring two-dimensional plane information and is used for detecting two-dimensional plane profile information of the surrounding environment, and the type of the laser sensor is not limited in the embodiment of the application.
Alternatively, after the sensor data of the robot is obtained, voxel filtering (down-sampling) processing may be performed on the sensor data to obtain filtered sensor data. The sensor data is subjected to down-sampling processing, so that the subsequent matching rate can be improved. Specifically, the sensor data may be down-sampled by a voxel filter.
Further, matching the sensor data with the global map can obtain the relative relationship between the sensor data and the global map, and the map matching score. Specifically, in this embodiment, a Correlation Scan Match (CSM) algorithm may be used for matching, where the CSM algorithm is subdivided on the resolution of the environment, and the accuracy is limited by the resolution. But this approach can reduce the computational effort by accelerating strategies such as branch-and-bound methods. After the relative relationship between the sensor data and the global map is obtained, the global pose of the robot can be obtained according to the initial pose and the relative relationship because the global map has the information of the global pose.
And further, carrying out trilinear interpolation optimization processing on the global pose and the map matching score of the robot to obtain the final global pose and the map matching score of the robot.
The trilinear interpolation optimization employed in the embodiments of the present application is a method of performing linear interpolation on a tensor product grid of three-dimensional discrete sampled data. This tensor product grid may have any non-overlapping grid points in each dimension, which approximates the values of points (x, y, z) linearly over a local rectangular prism by data points on the grid. Trilinear interpolation is often used in the fields of numerical analysis, data analysis, and computer graphics.
Further, in S13, it is determined whether the difference between the global pose and the initial pose is less than a pose threshold, or whether the map matching score is greater than a map threshold;
and if the difference value between the global pose and the initial pose is smaller than a pose threshold value or whether the map matching score is larger than a map threshold value, judging that the scene of the current area changes.
Specifically, judging whether a difference value (a position deviation value + an angle deviation value) between the global pose and the initial pose is smaller than a pose threshold value, and if the difference value is smaller than a preset threshold value, judging that the scene of the current area changes; or, in a specific implementation, the obtained map matching score is usually in a range of 0 to 1, the preset map threshold may be 0.5, and when the map matching score is greater than 0.5, it is determined that the scene of the current area changes.
In S14, if the scene of the current area changes, the updating the local map corresponding to the current area further includes:
if the local map corresponding to the current area does not exist, constructing a new local map corresponding to the current area according to the global pose and the sensor data;
and if the local map corresponding to the current area exists, updating the local map corresponding to the current area according to the global pose and the sensor data.
In specific implementation, the construction and the update of the local map are both carried out in a static binary Bayesian filtering mode, and the input data is as follows: position (initial pose) + scan (sensor data) + local _ map (local map, if the first local _ map is empty), the output data is: local _ map (new local map corresponding to the current area). The local map has the attribute of global attitude for distinguishing subgraphs of other areas.
After the local map corresponding to the current area is updated, the method further comprises the following steps:
and sending the updated local map corresponding to the current area to a server.
According to the method and the system, the updated map of the local area is sent to the server instead of the whole global map, so that data transmission between the robot and the server can be reduced, and the transmission efficiency is improved.
Specifically, before sending, a new local map or an updated local map corresponding to the current area is serialized according to a Protobuf protocol, so as to obtain a local map of a serialized data structure; and then the local map of the serialized data structure is sent to a server in a GRPC communication mode.
Protocol buffers (Google Protocol buffers) is a Protocol provided by Google, which has an efficient Protocol data exchange format tool library (similar to JSON), is a platform-independent, language-independent, extensible, lightweight and efficient serialized data structure, and can be used for network communication and data storage. Compared with JSON, Protobuf has higher conversion efficiency, and the time efficiency and the space efficiency are 3-5 times of that of JSON. The data after the Protobuf serialization processing is compressed, so that the transmission quantity of the data can be reduced, and the transmission efficiency is further improved.
GRPC is a high-performance Remote Procedure Call (RPC) framework irrelevant to languages, and by applying a GRPC communication protocol, data such as a local map based on a Protobuf protocol serialized data structure can be quickly sent to a server.
Before sending, recording the construction times of a new local map or the updating times of the local map corresponding to the current area, adding 1 to an area updating mark corresponding to the local map when the local map is updated, and sending the new local map or the updated local map corresponding to the current area to the server if the updating mark times reach a preset threshold value. When the updating times of a certain local area reach a preset value, the local map is sent to the server, so that temporary scene change of the certain area can be eliminated, and the accuracy of the local map is enhanced.
In this embodiment, there may be one or more robots, the number of updates is not related to the number of robots, and the same or different robots may update the local map corresponding to the same area.
Example two
In order to perform a corresponding method of the above-described embodiments to achieve corresponding functions and technical effects, a map updating apparatus is provided below. As shown in fig. 3, the map updating apparatus includes:
the acquiring module 31 is configured to acquire an initial pose of the robot in a current area and sensor data;
the matching module 32 is used for obtaining the global pose and the map matching score of the robot according to the initial pose, the sensor data and the global map;
the determining module 33 is configured to determine whether a scene in the current area changes according to the global pose or the map matching score;
and the updating module 34 is configured to update the local map corresponding to the current area if the scene of the current area changes.
Further, the obtaining module 31 is further configured to obtain a global pose of the robot at the last moment; acquiring the variation of the current odometer of the robot; and obtaining the initial pose of the robot according to the global pose at the last moment and the variation of the current odometer.
Further, the matching module 32 is further configured to obtain a relative relationship between the sensor data and the global map, and a map matching score; and obtaining the global pose of the robot according to the initial pose and the relative relation.
The matching module 32 is further configured to obtain a relative relationship between the sensor data and the global map, and a map matching score; and obtaining the global pose of the robot according to the initial pose and the relative relation.
The determining module 33 is further configured to determine whether a difference between the global pose and the initial pose is smaller than a pose threshold, or whether a map matching score is larger than a map threshold; and if the difference value between the global pose and the initial pose is smaller than a pose threshold value or whether the map matching score is larger than a map threshold value, judging that the scene of the current area changes.
Further, the updating module 34 is further configured to, if there is no local map corresponding to the current area, construct a new local map corresponding to the current area according to the global pose and the sensor data; and if the local map corresponding to the current area exists, updating the local map corresponding to the current area according to the global pose and the sensor data.
Further, the apparatus further comprises: and a sending module (not shown in the figure) for sending the new local map or the updated local map corresponding to the current area to the server. In a specific implementation, the sending module is further configured to send the updated local map to the server when the number of times of updating the local map corresponding to the current area reaches a preset value.
The map updating apparatus of the second embodiment can be applied to, but not limited to, a robot, and can implement the map updating method of the first embodiment. The alternatives in the first embodiment are also applicable to the present embodiment, and are not described in detail here. The rest of the present embodiment can refer to the content of the first embodiment, and in this embodiment, the description is omitted.
EXAMPLE III
The embodiment of the present application further provides a map updating method, which is applicable to, but not limited to, a server, and as shown in fig. 4, the method includes:
s31, receiving the local map sent by the robot; for example, local maps sent by a plurality of robots are received respectively;
and S32, if the corresponding area of the local map in the global map is an updatable area, updating the area in the global map according to the local map.
Optionally, the method may further include: and sending the updated region to the robot.
In specific implementation, some areas can be preset in the global map as non-update areas, and if the area corresponding to the received local map is a non-update area, the area is not updated in the global map according to the local map; if the area corresponding to the received local map is an update area, the area is updated in the global map according to the local map, so that a static area (namely, a non-update area) can not be updated, the phenomenon that the ultrahigh frequency large dynamic is updated by mistake is avoided, and the robustness of the updated map is improved.
In this embodiment, one or more robots may be provided, and the received local map may be transmitted by the same robot, or may be transmitted by different robots.
Compared with a method for updating the map on the robot, the method for detecting and updating the map through the server can avoid the calculation load of a single robot caused by map updating, and further ensure that the performance of the robot is not influenced by the map updating.
In specific implementation, if the corresponding area of the local map in the global map is an updatable area, adding 1 to the update mark of the corresponding area of the local map;
s32 specifically includes:
and if the value of the update mark of one area is greater than the update threshold, updating the area in the global map according to the local map.
In the implementation process, whether the map is updated or not can be determined according to the value of the update mark of the area, the situation of mistakenly updating the map can be reduced, and the multiple robots can further jointly update and judge a certain area.
That is to say, the map corresponding to a certain area is updated only when the scene change of the area is observed for many times, so that the accuracy of map updating is ensured. Here, the scene in which the same robot observes a certain area a plurality of times may change, or the scene in which a plurality of robots observes a certain area a plurality of times may change.
In S32, determining a value corresponding to each grid in the local map; and updating the area in the global map according to the value corresponding to each grid. In the embodiment of the present application, the value corresponding to each grid is an obstacle probability value corresponding to each grid, and the obstacle probability value is used to indicate the possibility that the grid is occupied by an obstacle.
In a specific implementation, a local map is converted into a global map according to a conversion relation between the local map and the global map, whether a corresponding area of the local map in the global map is within a set non-update area is determined, as shown in fig. 5, two non-update areas are shown in the map, and if all the corresponding areas of the local map in the global map fall into the two non-update areas shown in the map, no update is performed; and if the corresponding area part of the local map in the global map falls into two non-updating areas shown in the map, rejecting the non-updating area part in the local map (if the grid of the area is in the non-updating area, assigning the probability value of the obstacle corresponding to the grid as unknown, and rejecting the probability value).
Further, according to the value corresponding to each grid in the local map corresponding to the area received for multiple times, an updated value corresponding to each grid in the area in the updated global map is determined.
After marking the area corresponding to the local map, if the value (number of times) of the update flag of a certain area is greater than the update threshold (the update threshold may be set according to the implementation, and is usually set to 5), the following steps may be further performed: and judging the consistency of the grids of the areas corresponding to the local map to be updated. In a specific implementation, a value corresponding to each grid in a local map corresponding to a certain area may be received multiple times, so that the local map is traversed, the local maps are in one-to-one correspondence according to the global pose of the grid in the area corresponding to the local map, and for each grid, the mean (updated value) and the mean covariance are obtained.
Wherein the mean valuei represents the number of traversals; variance (variance) The mean covariance is the square of the variance, the mean covariance of the whole region is counted (all the covariances are averaged), and if the mean covariance of the region is smaller than the set value (the set value can be set to 0.5 according to specific implementation), the determination that the region needs to be updated is considered to be consistent.
After updating the region in the global map according to the local map, the method further comprises the following steps: and sending the updated value corresponding to each grid in the area to the robot. The robot here is understood to mean all robots in the area corresponding to the local map, and may be one or more robots. Specifically, only the update value of each grid in the area needing to be updated is sent to each robot in the area, all the robots can update the local map according to the received update value of the grid, and the map consistency of the multiple robots is completed, so that the transmission of the whole update map can be replaced, the transmitted data volume is reduced, and the transmission efficiency is improved. Similarly, the updated values of the grids can be serialized according to a Protobuf protocol to obtain the updated values after serialization compression, and the updated values after serialization compression are sent to each robot in a GRPC communication mode, so that the transmission efficiency is further improved.
Example four
In order to execute the method corresponding to the third embodiment described above to achieve the corresponding functions and technical effects, a map updating apparatus is provided below. As shown in fig. 6, the map updating apparatus includes:
the receiving module 61 is used for receiving a local map sent by the robot;
and the updating module 62 is configured to update the area in the global map according to the local map if the area corresponding to the local map in the global map is an updatable area.
Further, the updating module 62 is further configured to add 1 to the update flag of the area corresponding to the local map if the area corresponding to the local map in the global map is an updatable area; and if the value of the update mark of the area is greater than the update threshold, updating the area in the global map according to the local map.
The updating module 62 is further configured to determine a value corresponding to each grid in the local map; and updating the area in the global map according to the value corresponding to each grid.
In one embodiment, the updating module 62 is further configured to determine an updated value corresponding to each grid of the area in the updated global map according to the value corresponding to each grid in the local map corresponding to the area received multiple times.
The device also includes: and the sending module is used for sending the updated value corresponding to each grid in the area to the robot.
The map updating apparatus of the fourth embodiment is applicable to, but not limited to, a server, and can implement the map updating method of the third embodiment. The options in the third embodiment are also applicable to the present embodiment, and are not described in detail here. For the rest of the present embodiment, reference may be made to the contents of the third embodiment, and details are not repeated in this embodiment.
EXAMPLE five
An embodiment of the present application further provides a map updating system, including:
the robot is used for executing the map updating method in the first embodiment; and the number of the first and second groups,
and the server is used for executing the map updating method in the third embodiment.
The alternatives in the first and third embodiments described above are also applicable to this embodiment and will not be described in detail here. For the rest of the present embodiment, reference may be made to the contents of the third embodiment, and details are not repeated in this embodiment.
EXAMPLE six
An embodiment of the present application provides an electronic device, which includes a memory and a processor, where the memory is used to store a computer program, and the processor runs the computer program to enable the electronic device to execute the map updating method of the first embodiment or execute the map updating method of the third embodiment.
Alternatively, the electronic device may be a server.
Referring to fig. 7, fig. 7 is a schematic structural composition diagram of an electronic device according to an embodiment of the present disclosure. The electronic device may include a processor 71, a communication interface 72, a memory 73, and at least one communication bus 74. Wherein the communication bus 74 is used to enable direct connection communication of these components. The communication interface 72 of the device in the embodiment of the present application is used for communicating signaling or data with other node devices. The processor 71 may be an integrated circuit chip having signal processing capabilities.
The Processor 71 may be a general-purpose Processor, including a Central Processing Unit (CPU), a Network Processor (NP), and the like; but may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components. The various methods, steps, and logic blocks disclosed in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor 71 may be any conventional processor or the like.
The Memory 73 may be, but is not limited to, a Random Access Memory (RAM), a Read Only Memory (ROM), a Programmable Read-Only Memory (PROM), an Erasable Read-Only Memory (EPROM), an electrically Erasable Read-Only Memory (EEPROM), and the like. The memory 73 stores computer readable instructions which, when executed by the processor 71, enable the device to perform the steps involved in the method of the first embodiment or the steps involved in the method of the third embodiment.
Optionally, the electronic device may further include a memory controller, an input output unit. The memory 73, the memory controller, the processor 71, the peripheral interface, and the input/output unit are electrically connected to each other directly or indirectly to realize data transmission or interaction. For example, these components may be electrically connected to each other via one or more communication buses 74. The processor 71 is adapted to execute executable modules stored in the memory 73, such as software functional modules or computer programs comprised by the device.
The input and output unit is used for providing a task for a user to create and start an optional time period or preset execution time for the task creation so as to realize the interaction between the user and the server. The input/output unit may be, but is not limited to, a mouse, a keyboard, and the like.
It will be appreciated that the configuration shown in fig. 7 is merely illustrative and that the electronic device may include more or fewer components than shown in fig. 7 or have a different configuration than shown in fig. 7. The components shown in fig. 7 may be implemented in hardware, software, or a combination thereof.
In addition, an embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, and the computer program, when executed by a processor, implements the map updating method according to the first embodiment or implements the map updating method according to the third embodiment.
The embodiment of the present application further provides a computer program product, which includes a computer program, where the computer program runs on a computer, and is executed by a processor to implement the method described in the first embodiment or the third embodiment.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus and method can be implemented in other ways. The apparatus embodiments described above are merely illustrative, and for example, the flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In addition, functional modules in the embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
The functions, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: u disk, removable hard disk, read only memory, random access memory, magnetic or optical disk, etc. for storing program codes.
The above description is only an example of the present application and is not intended to limit the scope of the present application, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application. It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
Claims (16)
1. A map updating method, the method comprising:
acquiring an initial pose and sensor data of the robot in a current area;
obtaining a global pose and a map matching score of the robot according to the initial pose, the sensor data and a global map;
determining whether the scene of the current area changes or not according to the global pose or map matching score;
and if the scene of the current area changes, updating the local map corresponding to the current area.
2. The map updating method according to claim 1, wherein the determining whether the scene of the current area changes according to the global pose or map matching score comprises:
judging whether the difference value of the global pose and the initial pose is smaller than a pose threshold value or whether the map matching score is larger than a map threshold value;
and if the difference value between the global pose and the initial pose is smaller than a pose threshold value or whether the map matching score is larger than a map threshold value, judging that the scene of the current area changes.
3. The map updating method according to claim 1 or 2, wherein the obtaining of the global pose and the map matching score of the robot from the initial pose, the sensor data, and a global map comprises:
obtaining a relative relationship between the sensor data and the global map, and the map matching score;
and obtaining the global pose of the robot according to the initial pose and the relative relation.
4. The map updating method according to any one of claims 1 to 3, wherein the updating the local map corresponding to the current area includes:
if the local map corresponding to the current area does not exist, constructing a new local map corresponding to the current area according to the global pose and the sensor data;
and if the local map corresponding to the current area exists, updating the local map corresponding to the current area according to the global pose and the sensor data.
5. The map updating method according to any one of claims 1 to 4, wherein the method further comprises:
and sending the updated local map corresponding to the current area to a server.
6. The map updating method according to claim 5, further comprising:
and when the number of times of updating the local map corresponding to the current area reaches a preset value, sending the updated local map to a server.
7. The map updating method according to any one of claims 1 to 6, wherein the acquiring of the initial pose of the robot in the current area includes:
acquiring the global pose of the robot at the last moment;
acquiring the variation of the current odometer of the robot;
and obtaining the initial pose of the robot according to the global pose at the last moment and the variation of the current odometer.
8. A map updating method, the method comprising:
receiving a local map sent by a robot;
and if the corresponding area of the local map in the global map is an updatable area, updating the area in the global map according to the local map.
9. The map updating method of claim 8, wherein if the area corresponding to the local map in the global map is an updatable area, the update flag of the area corresponding to the local map is incremented by 1;
the updating the region in the global map according to the local map comprises:
and if the value of the update mark of the area is greater than the update threshold, updating the area in the global map according to the local map.
10. The map updating method according to claim 9, wherein the updating the area in the global map according to the local map includes:
determining a value corresponding to each grid in the local map;
and updating the area in the global map according to the value corresponding to each grid.
11. The map updating method of claim 10, wherein the determining the value corresponding to each grid in the local map comprises:
and determining an updated value corresponding to each grid of the region in the updated global map according to the value corresponding to each grid in the local map corresponding to the region received for multiple times.
12. The map updating method according to claim 11, further comprising:
and sending the updated value corresponding to each grid in the area to the robot.
13. A map updating system, comprising:
a robot for performing the map updating method of any one of claims 1 to 7; and the number of the first and second groups,
a server for performing the map updating method of any one of claims 8 to 12.
14. An electronic device comprising a memory for storing a computer program and a processor for executing the computer program to cause the electronic device to perform the map updating method of any one of claims 1 to 7 or the map updating method of any one of claims 8 to 12.
15. A computer-readable storage medium, characterized in that it stores a computer program which, when executed by a processor, implements the map updating method according to any one of claims 1 to 7, or the map updating method according to any one of claims 8 to 12.
16. A computer program product, comprising a computer program which, when executed by a processor, implements a map updating method according to any one of claims 1 to 7, or a map updating method according to any one of claims 8 to 12.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111022563.7A CN113932790A (en) | 2021-09-01 | 2021-09-01 | Map updating method, device, system, electronic equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111022563.7A CN113932790A (en) | 2021-09-01 | 2021-09-01 | Map updating method, device, system, electronic equipment and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113932790A true CN113932790A (en) | 2022-01-14 |
Family
ID=79274795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111022563.7A Pending CN113932790A (en) | 2021-09-01 | 2021-09-01 | Map updating method, device, system, electronic equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113932790A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827727A (en) * | 2022-04-25 | 2022-07-29 | 深圳创维-Rgb电子有限公司 | Television control method and device, television and computer readable storage medium |
CN116224349A (en) * | 2022-12-12 | 2023-06-06 | 珠海创智科技有限公司 | Robot positioning method, system and electronic device |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109682382A (en) * | 2019-02-28 | 2019-04-26 | 电子科技大学 | Global fusion and positioning method based on adaptive Monte Carlo and characteristic matching |
CN111060113A (en) * | 2019-12-31 | 2020-04-24 | 歌尔股份有限公司 | Map updating method and device |
CN111426312A (en) * | 2020-03-31 | 2020-07-17 | 上海擎朗智能科技有限公司 | Method, device and equipment for updating positioning map and storage medium |
CN111928866A (en) * | 2020-09-27 | 2020-11-13 | 上海思岚科技有限公司 | Robot map difference updating method and device |
WO2021114764A1 (en) * | 2019-12-10 | 2021-06-17 | 亿嘉和科技股份有限公司 | Map correction method and system based on local map |
JP2021099383A (en) * | 2019-12-19 | 2021-07-01 | キヤノン株式会社 | Information processing apparatus, information processing method, and program |
CN113295176A (en) * | 2021-05-27 | 2021-08-24 | 上海商汤临港智能科技有限公司 | Map updating method, map updating apparatus, and computer-readable storage medium |
CN113312435A (en) * | 2020-02-27 | 2021-08-27 | 武汉四维图新科技有限公司 | High-precision map updating method and device |
-
2021
- 2021-09-01 CN CN202111022563.7A patent/CN113932790A/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109682382A (en) * | 2019-02-28 | 2019-04-26 | 电子科技大学 | Global fusion and positioning method based on adaptive Monte Carlo and characteristic matching |
WO2021114764A1 (en) * | 2019-12-10 | 2021-06-17 | 亿嘉和科技股份有限公司 | Map correction method and system based on local map |
JP2021099383A (en) * | 2019-12-19 | 2021-07-01 | キヤノン株式会社 | Information processing apparatus, information processing method, and program |
CN111060113A (en) * | 2019-12-31 | 2020-04-24 | 歌尔股份有限公司 | Map updating method and device |
CN113312435A (en) * | 2020-02-27 | 2021-08-27 | 武汉四维图新科技有限公司 | High-precision map updating method and device |
CN111426312A (en) * | 2020-03-31 | 2020-07-17 | 上海擎朗智能科技有限公司 | Method, device and equipment for updating positioning map and storage medium |
CN111928866A (en) * | 2020-09-27 | 2020-11-13 | 上海思岚科技有限公司 | Robot map difference updating method and device |
CN113295176A (en) * | 2021-05-27 | 2021-08-24 | 上海商汤临港智能科技有限公司 | Map updating method, map updating apparatus, and computer-readable storage medium |
Non-Patent Citations (1)
Title |
---|
秦玉鑫;张高峰;王裕清;: "针对复杂环境的模块化栅格地图构建算法", 控制工程, no. 10, 20 October 2016 (2016-10-20) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827727A (en) * | 2022-04-25 | 2022-07-29 | 深圳创维-Rgb电子有限公司 | Television control method and device, television and computer readable storage medium |
CN114827727B (en) * | 2022-04-25 | 2024-05-07 | 深圳创维-Rgb电子有限公司 | Television control method, television control device, television and computer readable storage medium |
CN116224349A (en) * | 2022-12-12 | 2023-06-06 | 珠海创智科技有限公司 | Robot positioning method, system and electronic device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3506212A1 (en) | Method and apparatus for generating raster map | |
JP6918885B2 (en) | Relative position / orientation orientation method, relative position / orientation orientation device, equipment and medium | |
CN110595494B (en) | Map error determination method and device | |
CN109270545B (en) | Positioning true value verification method, device, equipment and storage medium | |
KR102314228B1 (en) | Map construction method, apparatus, device and readable storage medium | |
CN108959173B (en) | Method and device for resolving point cloud data of laser radar | |
CN111812658B (en) | Position determination method, device, system and computer readable storage medium | |
JP4650750B2 (en) | 3D shape data storage and display method and apparatus, and 3D shape measurement method and apparatus | |
CN109710724B (en) | A kind of method and apparatus of building point cloud map | |
KR20190082070A (en) | Methods and apparatuses for map generation and moving entity localization | |
CN108734780B (en) | Method, device and equipment for generating map | |
CN111551186A (en) | Vehicle real-time positioning method and system and vehicle | |
JP7033859B2 (en) | Identifying the two-dimensional position of the vehicle using geoarc | |
CN113932790A (en) | Map updating method, device, system, electronic equipment and storage medium | |
CN111080682B (en) | Registration method and device for point cloud data | |
JP7057632B2 (en) | Identifying the two-dimensional position of the vehicle using geoarc | |
CN111862215B (en) | Computer equipment positioning method and device, computer equipment and storage medium | |
CN111380515B (en) | Positioning method and device, storage medium and electronic device | |
CN114926549B (en) | Three-dimensional point cloud processing method, device, equipment and storage medium | |
CN113436233A (en) | Registration method and device of automatic driving vehicle, electronic equipment and vehicle | |
CN114187357A (en) | High-precision map production method and device, electronic equipment and storage medium | |
CN112965076B (en) | Multi-radar positioning system and method for robot | |
CN113375657A (en) | Electronic map updating method and device and electronic equipment | |
KR102130687B1 (en) | System for information fusion among multiple sensor platforms | |
CN116202509A (en) | Passable map generation method for indoor multi-layer building |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |