Method, device and electronic equipment for updating electronic map

The method updates the electronic map in real-time by converting marker coordinates and using optimization matrices, addressing the inefficiencies in updating electronic maps in dynamic environments, improving both efficiency and accuracy.

CN113375657BActive Publication Date: 2025-03-28YUANLI JUHE (CHONGQING) ROBOTICS TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110456710.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-04-26
Publication Date
2025-03-28
Estimated Expiration
2041-04-26

AI Technical Summary

Technical Problem

In dynamic indoor environments like long corridors, updating the electronic map used for robot localization and mapping (SLAM) is time-consuming and labor-intensive, especially when new or modified location markers are added, as it requires rebuilding the entire map.

Method used

A method and device that allow the electronic map to be updated in real-time as the robot moves, by converting the coordinates of detected markers from the robot's coordinate system to the map coordinate system, identifying matching markers, and using an optimization matrix to update the map coordinates and parameters without rebuilding the entire map.

Benefits of technology

This approach enables efficient and accurate updating of the electronic map during robot operations, eliminating the need for full map reconstruction and enhancing both efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113375657B_ABST
    Figure CN113375657B_ABST
Patent Text Reader

Abstract

The present invention provides an updating method, device and electronic device for an electronic map, and relates to the technical field of robot positioning. The method comprises: obtaining multiple positioning marks corresponding to the current position of the robot; converting the coordinates of the multiple positioning marks in the robot coordinate system into the coordinates in the map coordinate system; searching for matching marks corresponding to the multiple positioning marks in the marking parameter list; determining the optimization conversion matrix corresponding to the current moment based on the coordinates of the found positioning marks and matching marks in the map coordinate system; if there is a target positioning mark without a matching mark among the multiple positioning marks, determining the coordinates of the target positioning mark in the map coordinate system based on the optimization conversion matrix; and updating the marking parameter list and the electronic map based on the coordinates of the target positioning mark in the map coordinate system. The present invention can detect the updated positioning mark while the robot is positioning, thereby realizing map updating and improving the efficiency of map creation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of robot positioning technology, and in particular to an updating method, device and electronic equipment for an electronic map. Background Art

[0002] In recent years, laser radar-based positioning and mapping (SLAM) technology has been widely used in various fields with intelligent robots as application carriers. Laser radar-based positioning technology is usually based on laser radar sensor (also known as laser sensor) data. Laser sensor data is a series of orderly laser beams that return information such as distance and angle after encountering obstacles in the environment. Based on this data, positioning is performed in the environment map to determine the robot's location.

[0003] In order to improve positioning performance in indoor environments with long corridors and large dynamic changes, positioning markers are usually installed in the working environment (for example, highly reflective materials are attached to the surface of objects) to assist positioning. Compared with natural contour features, positioning markers are easier to distinguish from surrounding objects due to their high uniqueness. However, when adding new positioning markers or changing the location of existing positioning markers according to actual conditions, it is usually necessary to rebuild the entire electronic map, which is time-consuming and labor-intensive. Summary of the invention

[0004] In view of this, an object of the present invention is to provide an electronic map updating method, device and electronic equipment, which can update the electronic map while the robot is positioning, thereby facilitating and improving the updating efficiency of the electronic map.

[0005] In a first aspect, an embodiment of the present invention provides an electronic map updating method, the method being applied to an electronic device, the electronic device pre-stored with an electronic map of a target environment, the electronic map comprising a marking parameter list, the marking parameter list comprising coordinates of positioning marks set in the target environment in a map coordinate system; the method comprising: in a process of the robot moving, obtaining coordinates of multiple positioning marks corresponding to the current position of the robot in the robot coordinate system; converting the coordinates of the multiple positioning marks in the robot coordinate system into coordinates in the map coordinate system; searching for matching marks respectively corresponding to the multiple positioning marks in the marking parameter list; determining an optimized conversion matrix corresponding to the current moment based on the coordinates of the found positioning marks and matching marks in the map coordinate system; if there is a target positioning mark without a matching mark among the multiple positioning marks, determining the coordinates of the target positioning mark in the map coordinate system based on the optimized conversion matrix; and updating the marking parameter list and the electronic map based on the coordinates of the target positioning mark in the map coordinate system.

[0006] In combination with the first aspect, an embodiment of the present invention provides a first possible implementation scheme of the first aspect, wherein the step of converting the coordinates of the multiple positioning marks in the robot coordinate system into coordinates in the map coordinate system includes: obtaining an initial transformation matrix corresponding to the current moment; for each positioning mark among the multiple positioning marks, multiplying the coordinates of the positioning mark in the robot coordinate system by the initial transformation matrix to obtain the coordinates of the positioning mark in the map coordinate system.

[0007] In combination with the first aspect, an embodiment of the present invention provides a second possible implementation of the first aspect, wherein the step of obtaining the initial transformation matrix corresponding to the current moment includes: multiplying the optimized transformation matrix of the previous moment with the posture change of the robot from the previous moment to the current moment, to obtain the initial transformation matrix corresponding to the current moment.

[0008] In combination with the first aspect, an embodiment of the present invention provides a third possible implementation of the first aspect, wherein the coordinates of each positioning mark in the mark parameter list are stored in the form of a kd tree; the step of searching the matching marks respectively corresponding to the multiple positioning marks in the mark parameter list includes: for each positioning mark in the multiple positioning marks, using the coordinates of the positioning mark in the map coordinate system, searching the kd tree for a candidate mark of the positioning mark; if the distances between the candidate mark and the positioning mark are both less than a set distance threshold, determining that the candidate mark is a matching mark of the positioning mark.

[0009] In combination with the first aspect, an embodiment of the present invention provides a fourth possible implementation of the first aspect, wherein the step of determining the optimization transformation matrix corresponding to the current moment based on the coordinates of the found positioning marks and matching marks in the map coordinate system includes: if some of the multiple positioning marks have corresponding matching marks, then determining the optimization transformation matrix corresponding to the current moment based on each positioning mark in the part of the positioning marks and its corresponding matching mark.

[0010] In combination with the first aspect, an embodiment of the present invention provides a fifth possible implementation of the first aspect, the method further includes: when the optimization conversion matrix corresponding to the current moment is determined, recording the optimization conversion matrix corresponding to the current moment; if there is a target positioning mark without a matching mark among the multiple positioning marks, the step of determining the coordinates of the target positioning mark in the map coordinate system based on the optimization conversion matrix includes: if there is a target positioning mark without a matching mark among the multiple positioning marks, updating the number of observations of the target positioning mark; detecting whether the updated number of observations is greater than a set number threshold; if it is greater than the number threshold, determining the coordinates of the target positioning mark in the map coordinate system based on the optimization conversion matrices corresponding to the moments when the target positioning mark is observed multiple times.

[0011] In combination with the first aspect, an embodiment of the present invention provides a sixth possible implementation of the first aspect, wherein the step of updating the marking parameter list and the electronic map based on the coordinates of the target positioning mark in the map coordinate system includes: adding the coordinates of the target positioning mark in the map coordinate system and the identifier of the target positioning mark in the marking parameter list; and configuring the identifier of the target positioning mark for the position corresponding to the coordinates of the target positioning mark in the map coordinate system in the electronic map.

[0012] In combination with the first aspect, an embodiment of the present invention provides a seventh possible implementation manner of the first aspect, wherein the positioning mark is a reflective mark; the step of obtaining multiple positioning marks corresponding to the current position of the robot includes: obtaining a set of laser point clouds received at the current position of the robot through a laser sensor on the robot; selecting a target laser point cloud with a reflection intensity greater than a set intensity threshold from the laser point cloud set; performing point cloud clustering and parameter fitting on each of the target laser point clouds to obtain multiple positioning marks corresponding to the current position of the robot.

[0013] In combination with the first aspect, an embodiment of the present invention provides an eighth possible implementation of the first aspect, wherein the step of performing point cloud clustering and parameter fitting on each of the target laser point clouds to obtain multiple positioning marks corresponding to the current position of the robot includes: based on the coordinates of each of the target laser point clouds in the robot coordinate system, performing point cloud clustering on each of the target laser point clouds to obtain multiple point cloud clusters; for each point cloud cluster, performing parameter fitting based on a preset positioning mark type and the coordinates of the point clouds in the point cloud cluster to obtain the center of the point cloud cluster; wherein the positioning mark type is used to characterize that the positioning mark in the target environment is a reflective column or a reflective strip; and taking the center of each of the point cloud clusters as the positioning mark corresponding to the current position of the robot.

[0014] In combination with the first aspect, an embodiment of the present invention provides a ninth possible implementation of the first aspect, wherein the updated marking parameter list and the electronic map are synchronized to other robots in the target environment.

[0015] In a second aspect, an embodiment of the present invention further provides an electronic map updating device, the device is applied to an electronic device, the electronic device pre-stores an electronic map of a target environment, the electronic map includes a marking parameter list, the marking parameter list includes the coordinates of the positioning marks set in the target environment in the map coordinate system; the device includes: a marking acquisition module, used to acquire the coordinates of multiple positioning marks corresponding to the current position of the robot in the robot coordinate system during the robot's movement; a coordinate conversion module, used to convert the coordinates of the multiple positioning marks in the robot coordinate system into coordinates in the map coordinate system; a conversion matrix optimization module, used to search the matching marks corresponding to the multiple positioning marks in the marking parameter list; determine the optimization conversion matrix corresponding to the current moment based on the coordinates of the found positioning marks and matching marks in the map coordinate system; a coordinate optimization module, used to determine the coordinates of the target positioning mark in the map coordinate system based on the optimization conversion matrix if there is a target positioning mark without a matching mark among the multiple positioning marks; a map updating module, used to update the marking parameter list and the electronic map based on the coordinates of the target positioning mark in the map coordinate system.

[0016] In a third aspect, an embodiment of the present invention further provides an electronic device, comprising: a processing device and a storage device; a computer program is stored on the storage device, and when the computer program is run by the processing device, the method for updating an electronic map as described in any of the aforementioned embodiments is executed.

[0017] In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processing device, the steps of the method for updating an electronic map as described in any of the aforementioned embodiments are executed.

[0018] The embodiments of the present invention bring the following beneficial effects:

[0019] The embodiments of the present invention provide an updating method, device and electronic device for an electronic map. When a robot is moving, multiple positioning marks corresponding to the current position of the robot can be obtained, and the coordinates of the multiple positioning marks in the robot coordinate system can be converted into coordinates in the map coordinate system. Matching marks corresponding to the above multiple positioning marks are searched in a marking parameter list of the electronic map pre-stored by the robot, and an optimized conversion matrix corresponding to the current moment is determined based on the coordinates of the found positioning marks and the matching marks in the map coordinate system; if there is a target positioning mark without a matching mark among the multiple positioning marks, the coordinates of the target positioning mark in the map coordinate system can be determined based on the optimized conversion matrix, and then the marking parameter list and the electronic map are updated based on the coordinates of the target positioning mark in the map coordinate system. Through the above technology, the electronic map can be updated during the robot's task execution, and the above optimization conversion matrix is ​​determined based on the coordinates of the positioning mark detected at the current moment and the matching mark found in the mark parameter list in the map coordinate system. The coordinates of the target positioning mark in the map coordinate system further determined based on the optimization conversion matrix will be more accurate and have higher precision. The electronic map and the above mark parameter list are updated based on the coordinates, and there is no need to perform the overall map reconstruction process of the target environment for the new positioning mark, which simplifies the update process of the electronic map and improves the update efficiency and accuracy of the electronic map.

[0020] Other features and advantages of the present disclosure will be set forth in the following description, or some features and advantages may be inferred or unambiguously determined from the description, or may be learned by implementing the above-mentioned technology of the present disclosure.

[0021] In order to make the above-mentioned objectives, features and advantages of the present disclosure more obvious and easy to understand, preferred embodiments are specifically cited below and described in detail with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0023] Figure 1 A schematic diagram of the structure of an electronic device provided in Embodiment 1 of the present invention;

[0024] Figure 2 A flowchart of a method for updating an electronic map provided in Embodiment 2 of the present invention;

[0025] Figure 3A flowchart of a method for obtaining a positioning mark provided in Embodiment 3 of the present invention;

[0026] Figure 4 A schematic diagram of the structure of a robot provided in Embodiment 3 of the present invention;

[0027] Figure 5 A schematic diagram of an electronic map updating method provided in Embodiment 3 of the present invention;

[0028] Figure 6 A schematic diagram of the structure of an electronic map updating device provided in Embodiment 4 of the present invention;

[0029] Figure 7 A schematic diagram of the structure of another electronic map updating device provided in Embodiment 4 of the present invention;

[0030] Figure 8 This is a schematic diagram of the structure of an electronic map updating device provided in Embodiment 5 of the present invention. DETAILED DESCRIPTION

[0031] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0032] In large warehouses and other environments, goods are usually transported by robots. The process of robots transporting goods is called an operation process or a task execution process. In this process, it is necessary to locate the position of the robot and then control the robot's driving route. In order to effectively locate the robot, landmarks (also called positioning markers) can be introduced into the working environment to assist in positioning.

[0033] Since different robots are equipped with different types of sensors, the corresponding positioning marks are also different. For example, in some embodiments, for a robot equipped with a laser sensor, the positioning mark may include a reflective column (a column that reflects light on all sides) and a reflective strip. The reflective column and the reflective column are respectively a cylinder and a strip object with a highly reflective material on the surface. Compared with the natural contour features, this positioning mark has a higher reflection intensity and can provide obvious environmental features, so that the robot can easily distinguish this positioning mark from objects in the surrounding environment.

[0034] For robots equipped with cameras, image recognition technology can also be used to determine the current position. Based on this, the positioning mark can be an icon such as a QR code or a barcode. The icon with a specific QR code or barcode is attached to the buildings or objects on both sides of the robot's driving path. Compared with natural contour features, this positioning mark has a higher characteristic uniqueness and can provide obvious environmental features, so that the robot can easily distinguish this positioning mark from objects in the surrounding environment.

[0035] For robots equipped with RFID detectors, radio frequency identification technology can also be used for positioning. In this way, the positioning mark can be an RFID card, which is placed on buildings or objects on both sides of the robot's travel path. Compared with natural contour features, this positioning mark also has a high characteristic uniqueness and can provide obvious environmental features, so that the robot can easily distinguish this positioning mark from objects in the surrounding environment.

[0036] The above-mentioned implementation methods of the positioning marks are only examples. In the specific implementation of the electronic map update technology of the embodiment of the present invention, one or more of the above-mentioned positioning marks can be selected for implementation, and other marks similar to the above-mentioned positioning marks can also be used. As long as the mark can be distinguished from the objects in the environment, it can be regarded as the positioning mark of the embodiment of the present invention, and the embodiment of the present invention is not limited to this.

[0037] Positioning marks (such as QR code icons, reflective columns or reflective strips) are arranged in the warehouse as needed. While drawing the map, a preset algorithm is applied to calculate the position coordinates of the positioning marks, and then the position coordinates are stored in the map in a certain format (such as a marking parameter table or a marking parameter file).

[0038] In an embodiment of the present invention, the robot can be configured with a device or sensor for detecting a positioning mark. Taking a reflective mark as an example, a laser sensor can be installed on the robot. Considering that the robot has a certain height, the positioning mark is placed in a manner that allows the laser sensor on the robot to scan it. The positioning mark can be placed on the ground or close to the ground.

[0039] The above-mentioned positioning marks can be added or moved as needed. In order to update the electronic map in time after each change of the positioning mark to ensure the accuracy of the robot positioning, an electronic map updating method, device and electronic device provided in an embodiment of the present invention can be applied to SLAM technology to detect the changed positioning mark during the robot's task execution, and then update the electronic map.

[0040] To facilitate understanding of this embodiment, a method for updating an electronic map disclosed in an embodiment of the present invention is first introduced in detail.

[0041] Embodiment 1

[0042] First, refer to Figure 1 The electronic device 100 is a schematic diagram of the structure of the electronic device 100. The electronic device can be used to implement the method and device for updating the electronic map according to the embodiment of the present invention.

[0043] like Figure 1 The electronic device 100 includes one or more processing devices 102 and one or more storage devices 104. Optionally, the electronic device may also include an input device 106 and an output device 108. Optionally, the electronic device may also include one or more sensors 110. These components are interconnected via a bus system 112 and / or other forms of connection mechanisms (not shown). It should be noted that Figure 1 The components and structures of the electronic device 100 shown are merely exemplary and non-limiting. The electronic device may also have other components and structures as required.

[0044] The processing device 102 can be a server, an intelligent terminal, or a device including a central processing unit (CPU) or other forms of processing units with data processing capabilities and / or instruction execution capabilities. It can process data of other components in the electronic device 100 and can also control other components in the electronic device 100 to perform the function of updating the electronic map.

[0045] The storage device 104 may include one or more computer program products, and the computer program product may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and / or cache memory (cache), etc. Non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processing device 102 may run the program instructions to implement the client functions and / or other desired functions in the embodiments of the present invention (implemented by the processing device) described below. Various applications and various data, such as various data used and / or generated by the application, may also be stored in the computer-readable storage medium.

[0046] The input device 106 may be a device used by a user to input instructions, and may include one or more of a button, a keyboard, a mouse, a microphone, a touch screen, and the like.

[0047] The output device 108 may output various information (eg, images or sounds) to the outside (eg, a user), and may include one or more of a display, a speaker, and the like.

[0048] The sensor 110 may scan the driving environment of the robot's driving area and send the scanned data to the processing device 102 .

[0049] The processing device 102 locates the robot based on the data received from the sensor or the robot; controls the driving route of the robot based on the positioning result of the robot, or updates the electronic map of the target environment, and stores the updated electronic map in the storage device 104 for use by other components.

[0050] Exemplarily, the various devices in the method, device, and electronic device for implementing the update of the electronic map according to the embodiment of the present invention can be integrated or dispersed, such as integrating the processing device 102, the storage device 104, the input device 106, and the output device 108 into one body, and setting the sensor 110 at a designated position that can scan the driving environment of the robot's driving area. When the various devices in the above electronic device are integrated, the electronic device can be implemented as an intelligent terminal such as a tablet computer, a computer, a vehicle-mounted terminal, a mobile robot, etc.

[0051] Embodiment 2

[0052] This embodiment provides an electronic map updating method, which is applied to an electronic device, which may be the robot mentioned above or a server. The electronic device pre-stores an electronic map of a target environment (e.g., a target warehouse), and the electronic map includes a marking parameter list, which includes the coordinates of the positioning marks set in the target environment in the map coordinate system; the map coordinate system here refers to the coordinate system used by the electronic map. Figure 2 The method for updating the electronic map mainly includes the following steps S202 to S210:

[0053] Step S202, during the movement of the robot, the coordinates of multiple positioning marks corresponding to the current position of the robot in the robot coordinate system are obtained.

[0054] The robot scans the surrounding environment according to the set sampling cycle. Each sampling cycle is regarded as a moment. The current moment mentioned below is the current sampling cycle, and the previous moment is the sampling cycle before the current sampling cycle. In each sampling cycle, the robot can determine multiple positioning marks corresponding to the current position.

[0055] Specifically, when the robot is moving, it can obtain multiple positioning marks around the robot's current position. In addition to sensors for sampling positioning marks, the robot is usually equipped with odometers, inertial measurement units (IMUs), gyroscopes and other components, through which the robot's travel distance, travel speed, steering angle, steering speed and other information can be obtained.

[0056] The position and posture (position and attitude) of the robot in the working environment at the current moment can be determined by the coordinates of multiple positioning marks (e.g., two, three or more positioning marks) around the robot. The coordinates refer to the coordinates on the map coordinate system. The position and posture of the robot can be solved using a preset algorithm based on the input sensor data. The process can be implemented by referring to related technologies and will not be described here.

[0057] Step S204, converting the coordinates of the plurality of positioning marks in the robot coordinate system into coordinates in the map coordinate system.

[0058] Specifically, the initial position of the robot can be predicted by relying on the sensors, odometers, IMU and other components mounted on the robot. By default, the position of the robot when it is turned on is determined as the zero point (i.e., the origin) in the map coordinate system, and the initial orientation of the robot is determined as the positive direction of the X-axis in the map coordinate system and the position where the rotation angle is 0 (the angle increases counterclockwise). Since the position of the robot changes continuously during the movement, that is, the robot rotates and translates, an initial transformation matrix containing a rotation angle component and a translation component can be established according to the position of the robot at the current moment, or the optimized transformation matrix corresponding to the previous moment of the robot (the previous sampling period of the current moment) is used as the initial transformation matrix at the current moment, and the initial transformation matrix is ​​used to convert the coordinates of multiple positioning marks around the current position of the robot in the robot coordinate system into coordinates in the map coordinate system.

[0059] When the robot is moving, the current posture of the robot is different from the posture of the previous moment, and the initial transformation matrix used is also different. The accuracy of the initial transformation matrix is ​​usually not high. The embodiment of the present application corrects the initial transformation matrix by using the coordinates of some positioning marks to obtain an optimized transformation matrix. The accuracy of the optimized transformation matrix obtained in this way is relatively high.

[0060] Step S206, searching the tag parameter list for matching tags corresponding to the plurality of positioning tags respectively; determining the optimization conversion matrix corresponding to the current moment based on the coordinates of the found positioning tags and matching tags in the map coordinate system.

[0061] The above-mentioned mark parameter list may include an identifier corresponding to each positioning mark, and the identifier is a unique identifier representing the positioning mark, so as to distinguish different positioning marks. For example, different positioning marks can be distinguished by setting a different ID for each positioning mark.

[0062] Search the tag parameter list for a positioning tag whose coordinate distance from the positioning tag currently detected by the robot is less than a certain set threshold. If found, determine that the found positioning tag is a matching tag corresponding to the positioning tag currently detected by the robot.

[0063] The coordinates of the above positioning marks are converted from the robot coordinate system to the coordinates in the map coordinate system through the coordinate conversion of step S204. The coordinates obtained through the coordinate conversion of step S204 can be regarded as the initial coordinates of the positioning mark in the map coordinate system (with a certain error). The coordinates of the matching mark corresponding to the positioning mark are the coordinates in the map coordinate system read from the mark parameter list. Based on the coordinates of the positioning mark and the matching mark found in the map coordinate system, the initial conversion matrix corresponding to the current moment is corrected to obtain the optimized conversion matrix corresponding to the current moment. In order to facilitate the explanation of the above optimization process, for example: the coordinates of positioning mark 1 in the robot coordinate system are A1, the initial conversion matrix K, and the coordinate system conversion (i.e., the coordinate conversion of step S204) is performed by multiplying K by A1, and the coordinates of positioning mark 1 in the map coordinate system are A2. If the matching mark found in the mark parameter list of positioning mark 1 is positioning mark 2, and the corresponding coordinates of positioning mark 2 in the mark parameter list (in the map coordinate system) are A3, then based on the difference between A2 and A3, the initial conversion matrix K is adjusted, and the adjusted matrix is ​​K', and the adjusted K' is used as the optimized conversion matrix corresponding to the current moment.

[0064] If the above-mentioned multiple positioning marks all have corresponding matching marks, then the initial conversion matrix corresponding to the current moment is adjusted based on each positioning mark in the multiple positioning marks and its corresponding matching mark to obtain the optimized conversion matrix corresponding to the current moment. The operation method for obtaining the optimized conversion matrix based on the multiple positioning marks and their corresponding matching marks can be selected according to actual needs, such as the least square method.

[0065] Step S208: If there is a target positioning mark without a matching mark among the plurality of positioning marks, the coordinates of the target positioning mark in the map coordinate system are determined based on the optimized transformation matrix.

[0066] Specifically, if there is a positioning marker without a matching marker among the above multiple positioning markers, it means that the positioning marker is a newly added positioning marker in the target environment, or a positioning marker whose position has changed, and the positioning marker is determined as the target positioning marker. The above marker parameter list and electronic map need to be updated for the target positioning marker.

[0067] In order to make the update of the above-mentioned marking parameter list and electronic map more accurate, this embodiment does not directly add the initial coordinates of the target positioning mark in the map coordinate system (i.e., the coordinates obtained in step S204) to the marking parameter list, but re-determines the coordinates of the target positioning mark in the map coordinate system based on the above-mentioned optimization conversion matrix, and the coordinates can be regarded as the optimized coordinates of the target positioning mark in the map coordinate system. For example: the coordinates of the target positioning mark 11 in the robot coordinate system are B11, and the coordinates after conversion by the preliminary conversion matrix are B12. If no matching mark is found in the marking parameter list using B12, the optimized coordinates of the target positioning mark 11 in the map coordinate system are determined based on the optimization conversion matrix corresponding to each time the target positioning mark 11 is observed. Because the accuracy of the optimization conversion matrix is ​​higher than the accuracy of the initial conversion matrix, the accuracy of the coordinates after conversion by the optimization conversion matrix is ​​higher, and thus the updated above-mentioned marking parameter list and electronic map are more accurate and can better meet the needs of actual applications.

[0068] Step S210, updating the marker parameter list and the electronic map based on the coordinates of the target positioning marker in the map coordinate system (the coordinates are determined in step S208, ie, the above-mentioned optimized coordinates).

[0069] The above-mentioned updated marking parameter list can add the coordinates of the above-mentioned target positioning mark in the map coordinate system and the identifier of the target positioning mark in the marking parameter list, and configure the identifier of the target positioning mark for the position corresponding to the coordinates of the target positioning mark in the map coordinate system in the electronic map; in this way, the update of the positioning mark coordinate information in the marking parameter list and the update of the electronic map are realized.

[0070] In the above-mentioned method for updating the electronic map, during the movement of the robot, multiple positioning marks corresponding to the current position of the robot can be obtained, and the coordinates of the multiple positioning marks in the robot coordinate system can be converted into coordinates in the map coordinate system, and matching marks corresponding to the above-mentioned multiple positioning marks are searched in the mark parameter list of the electronic map pre-stored by the robot, and the optimization conversion matrix corresponding to the current moment is determined based on the coordinates of the found positioning marks and matching marks in the map coordinate system; if there is a target positioning mark without a matching mark among the multiple positioning marks, the coordinates of the target positioning mark in the map coordinate system can be determined based on the optimization conversion matrix, and then the mark parameter list and the electronic map are updated based on the coordinates of the target positioning mark in the map coordinate system. Through the above technology, the electronic map can be updated during the robot's task execution, and the above optimization conversion matrix is ​​determined based on the coordinates of the positioning mark detected at the current moment and the matching mark found in the mark parameter list in the map coordinate system. The coordinates of the target positioning mark in the map coordinate system further determined based on the optimization conversion matrix will be more accurate and have higher precision. The electronic map and the above mark parameter list are updated based on the coordinates, and there is no need to perform the overall map reconstruction process of the target environment for the new positioning mark, which simplifies the update process of the electronic map and improves the update efficiency and accuracy of the electronic map.

[0071] Embodiment 3

[0072] On the basis of the above-mentioned embodiment 2, for a robot equipped with a laser sensor, the above-mentioned positioning mark can be specifically a reflective mark. This embodiment takes the robot moving in a certain working environment as an example, and optimizes the above-mentioned step S202 (i.e., obtaining multiple positioning marks corresponding to the current position of the robot). Figure 3 The process of a method for obtaining a positioning mark is shown, and the method mainly includes the following steps:

[0073] Step S302, obtaining a set of laser point clouds received at the current position of the robot.

[0074] Specifically, during the operation of the robot, taking the laser radar as an example, the laser radar will emit a laser to scan the robot's surrounding environment. When the laser encounters an obstacle, it will be reflected. The laser radar receives the signal reflected by the obstacle (including reflection time and reflection angle), and then obtains a laser point cloud and the position coordinates of the laser point cloud in the robot's coordinate system.

[0075] Step S304 , selecting a target laser point cloud having a reflection intensity greater than a set intensity threshold from the laser point cloud set.

[0076] Use objects with highly reflective materials on the surface (such as reflective columns, reflective strips, etc.) as positioning marks and place them in the working environment. Since the positioning marks have high reflection intensity, it is possible to determine whether the robot's laser radar has detected the positioning marks based on the reflection intensity information of the laser point cloud. When a point cloud with a reflection intensity greater than the set intensity threshold appears in the laser point cloud collection, it is determined that the robot's laser radar has detected the positioning mark, and the point cloud with a reflection intensity greater than the set intensity threshold in the laser point cloud collection is extracted as the target laser point cloud to further determine the position coordinates of the positioning mark.

[0077] Step S306, performing point cloud clustering and parameter fitting on each target laser point cloud to obtain multiple positioning marks corresponding to the current position of the robot. Specifically including:

[0078] (1) Based on the coordinates of each target laser point cloud in the robot coordinate system, each target laser point cloud is clustered to obtain multiple point cloud clusters. Specifically, for the extracted target laser point cloud, the distance between each target laser point cloud with different position coordinates is calculated, and point clouds with relatively close distances are clustered into one category to form a point cloud cluster. A point cloud cluster represents the position range of a possible positioning mark.

[0079] (2) For each point cloud cluster, parameter fitting is performed based on the preset positioning mark type and the coordinates of the point cloud in the point cloud cluster to obtain the center coordinates of the point cloud cluster. The positioning mark type is used to characterize that the positioning mark in the target environment is a reflective column or a reflective strip; specifically, in order to reduce the amount of data calculation, the position coordinates of a point are used to represent the position coordinates of a positioning mark. Since the preset positioning mark has a certain shape (commonly a column, a strip, etc.), the positioning mark is divided into different types according to the shape of the positioning mark. It is necessary to perform corresponding parameter fitting according to the positioning mark type and the coordinates of the point cloud in the point cloud cluster, and then fit the center coordinates of the point cloud cluster.

[0080] (3) The center coordinates of each point cloud cluster are used as the positioning mark corresponding to the current position of the robot. For the sake of convenience, the following description is made of the positioning marks being reflective columns and reflective strips:

[0081] For the case where the positioning mark is a reflective column, because the reflective column is a cylinder, the target laser point cloud generated when the laser scans the reflective column is clustered to obtain multiple point cloud clusters with circular contours. The center position coordinates of the circular contour are fitted based on the position coordinates of these target laser point clouds in the robot coordinate system, and the center position coordinates are determined as the center coordinates of the point cloud cluster. The center coordinates of each point cloud cluster are determined as the position coordinates of the reflective column corresponding to the current position of the robot.

[0082] For the case where the positioning mark is a reflective strip, because the reflective strip is a long strip-shaped object, the target laser point cloud generated when the laser scans the reflective strip is clustered to obtain multiple point cloud clusters with long strip contours. The center position coordinates of the long strip contour are fitted based on the position coordinates of these target laser point clouds in the robot coordinate system, and the center position coordinates are determined as the center coordinates of the point cloud cluster, and the center coordinates of each point cloud cluster are determined as the position coordinates of the reflective strip corresponding to the current position of the robot.

[0083] Through the above-mentioned method of obtaining positioning marks, the laser sensor on the robot can be used to obtain the laser point cloud set of the robot's current position, and select the target laser point cloud with a reflection intensity greater than the set intensity threshold from the laser point cloud set. These target laser point clouds should belong to the laser point cloud formed by the reflection of the reflective mark because of their large reflection intensity. Therefore, the coordinate information of the target laser point cloud in the robot coordinate system can be used to determine the coordinates of the positioning mark in the robot coordinate system. This method of obtaining positioning marks using the strong reflective characteristics of reflective materials has a small error, and for environments with weak light, it can also receive the laser point cloud formed by the laser reflected by the reflective mark. The positioning accuracy is higher, and it is easier to find new or changed positioning marks.

[0084] After obtaining multiple positioning marks corresponding to the current position of the robot in the above-mentioned second and third embodiments, since these positioning marks are coordinates in the robot coordinate system, it is necessary to convert the coordinates of the positioning marks in the robot coordinate system into coordinates in the map coordinate system, that is, to perform the above-mentioned step S204. In some embodiments, step S204 can be implemented by the following steps: (1) obtaining the initial conversion matrix corresponding to the current moment; (2) for each positioning mark in the above-mentioned multiple positioning marks, multiplying the coordinates of the positioning mark in the robot coordinate system by the initial conversion matrix to obtain the coordinates of the positioning mark in the map coordinate system. Considering that the robot's current posture is different from the posture of the previous moment during the movement of the robot, the initial conversion matrix corresponding to the current moment and the previous moment is also different. As a possible implementation method, this embodiment is based on the optimized conversion matrix of the previous moment of the current moment (the optimized conversion matrix of the previous moment can also be determined by the method in step S206), and combines the posture change of the robot from the previous moment to the current moment to determine the initial conversion matrix of the current moment. Based on this, the step of obtaining the initial transformation matrix corresponding to the current moment includes: multiplying the optimized transformation matrix of the previous moment with the posture change of the robot from the previous moment to the current moment to obtain the initial transformation matrix corresponding to the current moment.

[0085] As the robot moves, its posture is constantly changing, and the current posture of the robot is calculated by the robot based on its posture at the last moment. The current posture of the robot has a certain correspondence with the position coordinates of the positioning mark currently obtained by the robot in the robot coordinate system. The change of the robot's posture will cause the position coordinates of the positioning mark currently obtained by the robot in the robot coordinate system to change. The optimized transformation matrix of the robot at the last moment of the current moment is obtained by optimizing the initial transformation matrix corresponding to the last moment based on the positioning mark and matching mark obtained by the robot at the last moment. Assume that the optimized transformation matrix at the last moment is T k According to the odometer and inertial measurement unit (IMU) on the robot, the robot’s position change from the previous moment to the current moment is determined as ΔT k->k+1 , then the initial transformation matrix T corresponding to the current moment k+1 =T k *ΔT k->k+1 Among them, the change in the robot's posture from the previous moment to the current moment can be determined based on the data of the odometer and IMU on the robot.

[0086] After obtaining the coordinates of the above-mentioned multiple positioning marks in the map coordinate system, the matching marks corresponding to the above-mentioned multiple positioning marks can be searched in the mark parameter list. If some of the above-mentioned multiple positioning marks have corresponding matching marks, the optimization conversion matrix corresponding to the current moment is determined based on each positioning mark in this part of the positioning marks and its corresponding matching mark. The partial positioning marks here can be one, two or more, each positioning mark and the matching mark corresponding to the positioning mark form a pair, and each pair of positioning marks and matching marks can determine an optimization conversion matrix corresponding to the current moment. If there are multiple pairs of positioning marks and matching marks, multiple optimization conversion matrices corresponding to the current moment can be determined. By averaging these multiple optimization conversion matrices, a more accurate optimization conversion matrix corresponding to the current moment can be obtained.

[0087] In the process of searching for matching tags respectively corresponding to the above-mentioned multiple positioning tags in the tag parameter list, if there is a target positioning tag without a matching tag among the above-mentioned multiple positioning tags, the coordinates of the target positioning tag in the map coordinate system can be determined based on the optimization transformation matrix corresponding to the current moment. The tag parameter list and the electronic map are updated based on the coordinates of the target positioning tag in the map coordinate system.

[0088] The above-mentioned initial transformation matrix at the current moment is determined based on the optimized transformation matrix at the previous moment and the change in the robot's posture from the previous moment to the current moment, and the optimized transformation matrix at a certain moment is determined based on the coordinates of the positioning mark and the matching mark detected at the current moment in the map coordinate system. Therefore, the coordinates of the target positioning mark in the map coordinate system further determined based on the optimized transformation matrix will be more accurate and have higher precision. The electronic map and the above-mentioned marker parameter list are updated based on the coordinates. There is no need to perform the overall map reconstruction process of the target environment for the new positioning mark, which simplifies the update process of the electronic map and improves the update efficiency and accuracy of the electronic map.

[0089] On the basis of the above-mentioned embodiment 2 and embodiment 3, in order to further improve the updating efficiency of the electronic map, the coordinates of each positioning mark in the marking parameter list can also be stored in the form of a kd tree. The kd tree is a data structure that divides a k-dimensional data space, so each of its nodes is a multidimensional coordinate. Taking the coordinates of each positioning mark in the marking parameter list (under the map coordinate system) as a two-dimensional coordinate (x, y) as an example, when constructing the kd tree, each node of the kd tree is a two-dimensional coordinate. When constructing the kd tree, it is first necessary to determine the two-dimensional coordinate value of the root node. Based on the value of the coordinate of each positioning mark in the marking parameter list in a certain dimension (dimension x or dimension y), the size comparison of the coordinate values ​​of the two positioning marks in the dimension can be performed, and the middle value in the dimension is selected as the first root node. Then, based on the principle that the coordinate value on the left side of the root node is less than the coordinate value on the right side, the positioning mark in the marking parameter list is stored in the kd tree. The optimized step S206 specifically includes:

[0090] (1) For each of the above multiple positioning markers, use the coordinates of the positioning marker in the map coordinate system to search for candidate markers of the positioning marker in the kd tree. There may be multiple candidate markers found in this way.

[0091] (2) If the distance between the candidate marker and the positioning marker is less than the set distance threshold, the candidate marker is determined to be the matching marker of the positioning marker.

[0092] The search method based on the KD tree candidate marker can reduce the data processing amount for searching matching markers, improve data search efficiency, and further improve the update efficiency of the electronic map.

[0093] The optimization conversion matrix corresponding to different moments is determined based on one or more positioning marks and matching mark pairs obtained at the different moments, so that the current optimization conversion matrix can be determined in real time. In some embodiments, the optimization conversion matrix corresponding to the current moment can also be recorded in real time, that is, the above method also includes: when the optimization conversion matrix corresponding to the current moment is determined, the optimization conversion matrix corresponding to the current moment is recorded. Accordingly, on the basis of the above-mentioned embodiments two and three, considering that the positioning mark without a matching mark may be caused by reflection of abnormal environment, for example, the reflection of the clothes or shoes of the staff causes the robot to mistake it for a positioning mark, therefore, the method of this embodiment constrains the number of observations of the target positioning mark, based on this, the above-mentioned step S208 is optimized, and the step specifically includes:

[0094] (1) If there is a target positioning tag without a matching tag among the above-mentioned multiple positioning tags, the observation count of the target positioning tag is updated.

[0095] (2) Check whether the updated observation number is greater than the set number threshold.

[0096] (3) If the number is greater than the threshold, the coordinates of the target positioning mark in the map coordinate system are determined based on the optimized transformation matrix corresponding to the moments of the target positioning mark observed multiple times.

[0097] This processing method can further eliminate the interference of other factors other than positioning markers (such as reflective objects such as people's clothes) on the laser sensor, further improving the reliability of map updates.

[0098] In addition to adding the corresponding coordinates of the changed positioning mark to the mark parameter list and thus updating the electronic map, the above method obtains the optimized transformation matrix at the current moment, that is, the robot's current posture at the current moment (that is, a matrix constructed by the robot's current position and posture). The matrix contains the robot's current posture angle and the robot's coordinates in the map coordinate system. The robot can determine the next moving direction and speed based on the current posture to perform the current task.

[0099] On the basis of the above-mentioned second embodiment, in the case where there are multiple robots working together in the target environment, the robots can collaborate to synchronously update the electronic map. Based on this, on the basis of the above-mentioned method, it can also include: synchronizing the updated marking parameter list and the electronic map to other robots in the target environment. By updating the electronic map in this collaborative way, it is possible to reduce the update process of adding or changing markings repeatedly by other robots, thereby improving the operation efficiency of the robots.

[0100] The above embodiment provides an update process of the electronic map. For a newly built environment, in addition to the above electronic map update process, it also includes the initial electronic map creation process. Taking a warehouse as an example, see Figure 4 The schematic diagram of the structure of the robot shown in the figure, the robot includes a mapping module and a positioning module, wherein the mapping module includes: a positioning mark deployment unit, a map drawing unit and a map updating unit, which are respectively used to implement the functions of positioning mark deployment, map drawing and map updating. The positioning module includes: a positioning mark extraction unit, a positioning mark matching unit and a positioning mark updating unit, which are respectively used to implement the functions of positioning mark extraction, positioning mark matching and positioning mark updating. In addition to the above-mentioned mapping module and positioning module, the robot also includes other related electronic devices, such as laser sensors, odometers, etc. In the process of mapping, the robot needs to traverse the working environment, that is, each area in the above-mentioned warehouse. According to the location information of the positioning mark provided by the staff when deploying the positioning mark and the laser reflection signal during the traversal process, the electronic map creation process of the warehouse is completed through the positioning mark deployment unit and the map drawing unit, and the initial mark parameter list is stored in the electronic map. When the robot performs a task, the mapping module passes the drawn electronic map to the positioning module for robot positioning. The positioning module completes the update of the marker parameter list through the positioning marker extraction unit, the positioning marker matching unit and the positioning marker update unit, and returns the updated marker parameter list to the mapping module for map updating.

[0101] Figure 5 FIG. 1 is a schematic diagram of an electronic map updating method according to another embodiment of the present invention. Figure 4 It is implemented on the basis of, which can be applied to robot positioning scenarios. For the convenience of description, landmarks are used below to represent positioning marks (such as reflective columns, reflective strips, etc.). The execution of this method includes the following steps:

[0102] Step 1: Landmark extraction. The high reflection intensity of the landmark surface is mainly used to distinguish it from surrounding objects in the environment. The landmark extraction process includes the following steps:

[0103] (1) Extract laser point clouds whose reflection intensity is greater than a certain threshold.

[0104] (2) Perform point cloud clustering on the extracted laser point cloud.

[0105] For the extracted point clouds with reflection intensities greater than the first threshold, the distance between each point cloud with different position coordinates is calculated, and the point clouds with relatively close distances are clustered into one category. The point clouds clustered into one category represent the position range of a possible positioning mark.

[0106] (3) Parameter fitting is performed based on the point cloud obtained by point cloud clustering.

[0107] The parameter fitting process is set according to the type of landmark. When the landmark type is a reflective column, the center position parameters of the reflective column need to be fitted. When the landmark type is a reflective strip, the rectangular center position parameters of the reflective strip need to be fitted.

[0108] Specifically, for the case where the landmark is a reflective column, because the reflective column is a cylinder, the target laser point cloud generated when the laser scans the reflective column is clustered to obtain multiple point cloud clusters with circular contours. The center position coordinates of the circular contour are fitted based on the position coordinates of these target laser point clouds in the robot coordinate system, and the center position coordinates are determined as the center coordinates of the point cloud cluster, and the center coordinates of each point cloud cluster are determined as the position coordinates of the reflective column corresponding to the current position of the robot.

[0109] For the case where the landmark is a reflective strip, because the reflective strip is a long strip-shaped object, the target laser point cloud generated when the laser scans the reflective strip is clustered to obtain multiple point cloud clusters with long strip contours. The center position coordinates of the long strip contour are fitted based on the position coordinates of these target laser point clouds in the robot coordinate system, and the center position coordinates are determined as the center coordinates of the point cloud cluster, and the center coordinates of each point cloud cluster are determined as the position coordinates of the reflective strip corresponding to the current position of the robot.

[0110] Step 2: Landmark position coordinate conversion. Convert the position coordinates of the landmark currently extracted by the robot in the robot coordinate system to the position coordinates in the map coordinate system. The specific process is: relying on the laser radar, odometer, IMU and other sensors installed on the robot, an initial posture of the robot can be predicted, and the initial transformation matrix T0 is constructed based on the initial posture. The position coordinates X of the currently extracted landmark in the robot coordinate system are converted to the position coordinates in the map coordinate system. l After the initial pose transformation, the position coordinates X of the currently extracted landmark in the map coordinate system are obtained. m , the calculation formula is:

[0111] X m =T0·X l .

[0112] T0=T0'*ΔT

[0113] ΔT is t k Time to t k+1 The change in the robot's posture between moments can be determined based on the above-mentioned sensors such as lidar, odometer, and IMU;

[0114] T0' is t k The robot's position at that moment.

[0115] Multiplying T0' and ΔT gives T0, which is t k+1 The initial position of the robot at time t k+1 The initial transformation matrix at the moment is an initial transformation matrix with errors. Later, landmark matching is required to obtain a more accurate posture, that is, to optimize the transformation matrix.

[0116] Step 3: Determine the candidate landmark. This process includes the following steps:

[0117] (1) Store all landmark location information in the known landmark map stored in the robot in the form of a kd tree.

[0118] (2) The coordinates X are predicted based on the initial pose transformation of the landmark extracted by the robot (also called query landmark, i.e., the positioning marker to be matched). m , search the kd tree for the landmark with the closest coordinate distance to it as a candidate landmark (also called candidate landmark, candidate positioning marker).

[0119] Step 4, determine whether the distance between the query landmark and the candidate landmark is less than a first threshold. If so, it is considered that the query landmark is a landmark whose original position in the target environment has not changed, and the following step 5 is executed after step 4; if not, it is considered that the query landmark is a landmark newly added to the target environment or a landmark whose original position in the target environment has changed, and the following step 6 is executed after step 4.

[0120] Step 5: Establish and save the correspondence between the query landmark and the candidate landmark. After step 5, perform the following step 8.

[0121] For ease of description, assume that at a certain moment in the target scene, the robot detects the center positions of four positioning markers, which are respectively recorded as landmark1, landmark2, landmark3 and landmark4. The coordinate information of landmark1, landmark2, landmark3 and landmark4 in the map coordinate system is obtained by coordinate transformation through the initial transformation matrix T0, which are M1 corresponding to landmark1, M2 corresponding to landmark2, M3 corresponding to landmark3 and M4 corresponding to landmark4. At this time, these four markers can be regarded as the query landmark above.

[0122] After obtaining M1 corresponding to landmark 1, M2 corresponding to landmark 2, M3 corresponding to landmark 3, and M4 corresponding to landmark 4, the robot searches for matching tags corresponding to landmark 1, landmark 2, landmark 3, and landmark 4 in the tag parameter list (i.e., the kd tree) of the electronic map currently stored by the robot. Specifically, for the four tags of landmark 1, landmark 2, landmark 3, and landmark 4, the following operations are performed, and the following is explained by taking landmark 1 as an example: according to M1 corresponding to landmark 1 and the coordinate information of the candidate tag candidate landmark in the tag parameter list, the distance between landmark 1 and the candidate tag is calculated. If there is a candidate tag candidate landmark-1 in the tag parameter list whose distance is less than a set first threshold, it is determined that landmark 1 matches the candidate tag candidate landmark-1, and the candidate landmark-1 is called the matching tag of landmark 1, and landmark 1 is determined to be a historical tag. Then, the corresponding relationship between query landmark and candidate landmark is established and saved in step 5, which is to establish and save the corresponding relationship between landmark 1 and candidate landmark-1.

[0123] The correspondence between the query landmark and the candidate landmark established and saved in the above steps is to establish and save a one-to-one correspondence between the positioning mark and the matching mark, wherein the coordinates of the query landmark in the map coordinate system are obtained by transforming the coordinates of the query landmark in the robot coordinate system by applying the initial transformation matrix.

[0124] If there is no candidate marker whose distance to the query landmark is less than the first threshold in the marker parameter list, there is no candidate marker matching the query landmark, and the query landmark is determined to be a new marker or a pending marker. The following steps 6-7 will be executed.

[0125] Step 6: Record the number of times the query landmark is observed.

[0126] Step 7, determine whether the number of times the same query landmark is observed at different times (referred to as the number of observations) is greater than the second threshold. If yes (i.e., the number of observations is greater than the second threshold), then execute step 8 after step 7; if no (i.e., the number of observations is less than or equal to the second threshold), then return to step 1 after step 7;

[0127] Step 8: Perform nonlinear optimization processing based on the correspondence between the query landmark and the candidate landmark and the query landmark parameter (the parameter includes the coordinates of the query landmark in the map coordinate system).

[0128] The above nonlinear optimization process may include the following two aspects of nonlinear optimization process:

[0129] (1) Nonlinear optimization processing based on the correspondence between query landmark and candidate landmark;

[0130] The correspondence between the query landmark and the candidate landmark is a one-to-one correspondence between the positioning marker and the matching marker. According to this correspondence, at least one pair of positioning markers and matching markers can be determined. The coordinates of the positioning markers in each pair of positioning markers and matching markers are obtained by applying the initial transformation matrix based on the coordinates detected in the robot coordinate system, that is, X in step 2 above. m. The matching mark in each pair of positioning marks and matching marks is searched from the kd tree and belongs to the coordinates of the marks in the existing electronic map. Therefore, based on the coordinates corresponding to each pair of positioning marks and matching marks, the initial transformation matrix can be subjected to nonlinear optimization processing. The purpose of this nonlinear optimization processing is to minimize the error between the coordinates of multiple positioning marks and their matching marks calculated by the optimized initial transformation matrix (i.e., the optimized transformation matrix) in the map coordinate system. In specific implementation, an error equation can be constructed in advance, and the error equation can be used to optimize the initial transformation matrix. Through this nonlinear processing, the optimized transformation matrix at each moment can be obtained. Assume that after the above nonlinear processing, the optimized transformation matrix T at time t+1 is obtained. t+1 ', then the optimized transformation matrix T at time t+1 is applied t+1 'Convert the coordinates X1 to obtain X m '=T t+1 '·X l .

[0131] (2) Nonlinear optimization based on query landmark parameters

[0132] Considering that there may be newly added or changed marks in the target environment, it will be impossible to find matching marks for such marks in the electronic map. In order to avoid mistaking a mark detected once for a newly added mark, this embodiment adds the mark to the electronic map to avoid unnecessary processing. Therefore, by controlling the number of observations in steps 6 and 7, it can be effectively ensured that the newly added mark or the changed mark is observed enough times. The same query landmark observed each time corresponds to a different time. Through the nonlinear optimization processing in (1), an optimized transformation matrix corresponding to each time is obtained. This optimized transformation matrix is ​​also the optimized posture of the robot corresponding to the time. Assuming that the robot observes the same query landmark at n times t1, t2...tn, the optimized transformation matrix corresponding to these n times can be obtained through the nonlinear optimization processing in (1). Based on the optimized transformation matrix at these n moments, the coordinates of the query landmark in the map coordinate system can be determined. We will get n coordinates of the query landmark. By averaging these n coordinates, we can get the final coordinates of the query landmark, which is more accurate than the coordinates corresponding to one moment. The final coordinates of the query landmark are added to the landmark list in the electronic map to get the optimized landmark list.

[0133] Step 9, update the map.

[0134] The optimized landmark list is compared with the landmark list initially loaded into the robot's electronic map. If there is a change, it is considered that the landmark in the environment has changed. The coordinates of the changed query landmark in the map coordinate system are marked in the electronic map stored by the robot for subsequent positioning. In this way, the dynamic update of the landmark list and landmark map is completed.

[0135] For ease of understanding, let's continue with the previous example. Assume that among landmark1, landmark2, landmark3 and landmark4, landmark1 is determined as a new landmark without a matching mark, and landmark2, landmark3 and landmark4 are determined as historical landmarks with matching marks. The number of times landmark1 is observed at different times is greater than a certain threshold. During multiple observations, the robot records the coordinates of landmark1 in the robot coordinate system obtained at different times. In order to further ensure the coordinate accuracy of landmark1 in the map coordinate system, the initial transformation matrix T0 is optimized according to the coordinate information of the matching marks corresponding to landmark2, landmark3 and landmark4, M2 corresponding to landmark2, M3 corresponding to landmark3 and M4 corresponding to landmark4, and the optimized transformation matrix T0' is obtained. Then, the optimized transformation matrix T0' is used to obtain the coordinates M1' of landmark1 in the map coordinate system. When updating the map, since M1' has a higher accuracy, M1' can be directly added to the electronic map already stored in the robot, thus completing a map update.

[0136] Assuming that landmark1, landmark2, landmark3 and landmark4 are all historical markers and have corresponding matching markers, T0 is updated based on the matching markers to obtain T0'. Based on T0', the robot's current positioning information can be determined.

[0137] When calculating the initial transformation matrix T0 at each moment, since the robot will constantly change its posture during its movement, it is necessary to calculate the posture change ΔT based on the time difference between different moments and the multiple sensor components mounted on the robot. T0 at each moment can be calculated based on T0' and ΔT at the previous moment, as shown in the above formula T0 = T0'*ΔT, which will not be described in detail here.

[0138] Embodiment 4

[0139] For the electronic map updating method provided in the above embodiments, an embodiment of the present invention provides an electronic map updating device, which can be applied to the above electronic device, and the electronic device pre-stores an electronic map of a target environment (such as a target warehouse), and the electronic map includes a marking parameter list, and the marking parameter list includes the coordinates of the positioning marks set in the target environment in the map coordinate system; the map coordinate system here refers to the coordinate system used by the electronic map. Figure 6 The structure diagram of an electronic map updating device shown in FIG. 1 includes the following modules:

[0140] The mark acquisition module 42 is used to acquire the coordinates of multiple positioning marks corresponding to the current position of the robot in the robot coordinate system during the movement of the robot.

[0141] The coordinate conversion module 44 is used to convert the coordinates of the plurality of positioning marks in the robot coordinate system into coordinates in the map coordinate system.

[0142] The conversion matrix optimization module 46 is used to search for matching marks corresponding to the multiple positioning marks in the mark parameter list; and determine the optimization conversion matrix corresponding to the current moment based on the coordinates of the found positioning marks and matching marks in the map coordinate system.

[0143] The coordinate optimization module 48 is used to determine the coordinates of the target positioning marker in the map coordinate system based on the optimized transformation matrix if there is a target positioning marker without a matching marker in the positioning marker group.

[0144] The map updating module 50 is used to update the marker parameter list and the electronic map based on the coordinates of the target positioning marker in the map coordinate system.

[0145] The electronic map updating device provided in this embodiment can obtain multiple positioning marks corresponding to the current position of the robot during the movement of the robot, and convert the coordinates of the multiple positioning marks in the robot coordinate system into coordinates in the map coordinate system, search for matching marks corresponding to the above multiple positioning marks in the mark parameter list of the electronic map pre-stored by the robot, and determine the optimization conversion matrix corresponding to the current moment based on the coordinates of the found positioning marks and matching marks in the map coordinate system; if there is a target positioning mark without a matching mark among the multiple positioning marks, the coordinates of the target positioning mark in the map coordinate system can be determined based on the optimization conversion matrix, and then the mark parameter list and the electronic map are updated based on the coordinates of the target positioning mark. Through the above technology, the electronic map can be updated during the robot's task execution, and the above optimization conversion matrix is ​​determined based on the coordinates of the positioning mark detected at the current moment and the matching mark found in the mark parameter list in the map coordinate system. The coordinates of the target positioning mark in the map coordinate system further determined based on the optimization conversion matrix will be more accurate and have higher precision. The electronic map and the above mark parameter list are updated based on the coordinates, and there is no need to perform the overall map reconstruction process of the target environment for the new positioning mark, which simplifies the update process of the electronic map and improves the update efficiency and accuracy of the electronic map.

[0146] The above-mentioned coordinate conversion module 44 is also used to: obtain the initial conversion matrix corresponding to the current moment; wherein the initial conversion matrix is ​​the conversion matrix between the robot coordinate system and the map coordinate system; for each positioning mark among the multiple positioning marks, multiply the coordinates of the positioning mark in the robot coordinate system by the initial conversion matrix to obtain the coordinates of the positioning mark in the map coordinate system.

[0147] The coordinate conversion module 44 is also used to: multiply the optimized conversion matrix of the previous moment of the current moment by the change in the posture of the robot from the previous moment to the current moment, so as to obtain the initial conversion matrix corresponding to the current moment.

[0148] The above-mentioned conversion matrix optimization module 46 is also used for: for each positioning mark among the multiple positioning marks, using the coordinates of the positioning mark in the map coordinate system, searching for a candidate mark of the positioning mark in the kd tree; if the distance between the candidate mark and the positioning mark is less than a set distance threshold, determining the candidate mark as a matching mark of the positioning mark.

[0149] The conversion matrix optimization module 46 is also used to: if some of the multiple positioning marks have corresponding matching marks, determine the optimization conversion matrix corresponding to the current moment based on each positioning mark in the part of the positioning marks and its corresponding matching mark.

[0150] The above-mentioned coordinate optimization module 48 is also used for: the method also includes: when the optimization conversion matrix corresponding to the current moment is determined, recording the optimization conversion matrix corresponding to the current moment; and if there is a target positioning mark without a matching mark among the multiple positioning marks, updating the number of observations of the target positioning mark; detecting whether the updated number of observations is greater than the set number threshold; if it is greater than the number threshold, determining the coordinates of the target positioning mark in the map coordinate system based on the optimization conversion matrices corresponding to the moments when the target positioning mark is observed multiple times.

[0151] The map updating module 50 is also used to: add the coordinates of the target positioning mark in the map coordinate system and the identifier of the target positioning mark in the marking parameter list; and configure the identifier of the target positioning mark for the position corresponding to the coordinates of the target positioning mark in the map coordinate system in the electronic map.

[0152] The above positioning mark is a reflective mark; accordingly, the above mark acquisition module 42 is also used to: obtain the laser point cloud set received by the robot at the current location through the laser sensor; select the target laser point cloud with a reflection intensity greater than the set intensity threshold from the laser point cloud set; perform point cloud clustering and parameter fitting on each target laser point cloud to obtain multiple positioning marks corresponding to the current location of the robot. The above process may include: based on the coordinates of each target laser point cloud in the robot coordinate system, perform point cloud clustering on each target laser point cloud to obtain multiple point cloud clusters; for each point cloud cluster, perform parameter fitting based on a preset positioning mark type and the coordinates of the point cloud in the point cloud cluster to obtain the center of the point cloud cluster; wherein the positioning mark type is used to characterize that the positioning mark in the target environment is a reflective column or a reflective strip; and the center of each point cloud cluster is used as the positioning mark corresponding to the current location of the robot.

[0153] In the above Figure 6 Based on Figure 7 This embodiment also provides another map updating device, which further includes: a robot synchronization module 52, which is used to synchronize the updated marking parameter list and electronic map to other robots in the target environment.

[0154] The device provided in the embodiment of the present invention has the same implementation principle and technical effects as those of the aforementioned method embodiment. For the sake of brief description, for matters not mentioned in the device embodiment, reference may be made to the corresponding contents in the aforementioned method embodiment.

[0155] Embodiment 5

[0156] See also Figure 8The embodiment of the present invention further provides an electronic map updating device 200, comprising: a processor 10, a memory 11, a bus 12 and a communication interface 13, wherein the processor 10, the communication interface 13 and the memory 11 are connected via the bus 12; the processor 10 is used to execute an executable module stored in the memory 11, such as a computer program.

[0157] The memory 11 may include a high-speed random access memory (RAM), and may also include a non-volatile memory, such as at least one disk memory. The communication connection between the system network element and at least one other network element is realized through at least one communication interface 13 (which may be wired or wireless), and the Internet, wide area network, local area network, metropolitan area network, etc. may be used.

[0158] The bus 12 may be an ISA bus, a PCI bus, or an EISA bus. The bus may be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, Figure 8 Only one bidirectional arrow is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0159] Among them, the memory 11 is used to store programs, and the processor 10 executes the program after receiving the execution instruction. The method executed by the device for flow process definition disclosed in any of the embodiments of the above-mentioned embodiments of the present invention can be applied to the processor 10 or implemented by the processor 10.

[0160] The processor 10 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instructions in the processor 10. The above processor 10 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present invention can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in the embodiment of the present invention can be directly embodied as a hardware decoding processor to be executed, or the hardware and software modules in the decoding processor can be executed. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 11, and the processor 10 reads the information in the memory 11 and completes the steps of the above method in combination with its hardware.

[0161] Unless otherwise specifically stated, the relative steps, numerical expressions and numerical values ​​of the parts and steps set forth in these embodiments do not limit the scope of the present invention. In addition, the terms "first", "second", "third" are only used for descriptive purposes and cannot be interpreted as indicating or suggesting relative importance.

[0162] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple embodiments of the present invention. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of the code, and a part of the module, program segment or code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.

[0163] An electronic map updating method, device and computer program product of an electronic device provided in an embodiment of the present invention include a computer-readable storage medium storing a non-volatile program code executable by a processor. The instructions included in the program code can be used to execute the method in the previous method embodiment. The specific implementation can be referred to the method embodiment, which will not be repeated here.

[0164] Those skilled in the art can clearly understand that, for the convenience and simplicity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. In addition, each functional unit in each embodiment of the present invention can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0165] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a non-volatile computer-readable storage medium that is executable by a processor. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc., which can store program codes.

[0166] Finally, it should be noted that the above embodiments are only specific implementations of the present invention, which are used to illustrate the technical solutions of the present invention, rather than to limit them. The protection scope of the present invention is not limited thereto. Although the present invention is described in detail with reference to the above embodiments, ordinary technicians in the field should understand that any technician familiar with the technical field can still modify the technical solutions recorded in the above embodiments within the technical scope disclosed by the present invention, or can easily think of changes, or make equivalent replacements for some of the technical features therein; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention shall be based on the protection scope of the claims.

Claims

1. A method for updating an electronic map, characterized in that: The method is applied to an electronic device, wherein the electronic device pre-stores an electronic map of a target environment, wherein the electronic map includes a marking parameter list, wherein the marking parameter list includes coordinates of positioning marks set in the target environment in a map coordinate system; The method comprises: During the movement of the robot, the coordinates of a plurality of positioning marks corresponding to the current position of the robot in the robot coordinate system are obtained; Converting the coordinates of the plurality of positioning marks in the robot coordinate system into coordinates in the map coordinate system; Searching for matching marks corresponding to the plurality of positioning marks in the marking parameter list; determining the optimization conversion matrix corresponding to the current moment based on the coordinates of the found positioning marks and matching marks in the map coordinate system; If there is a target positioning mark without a matching mark among the multiple positioning marks, determining the coordinates of the target positioning mark in the map coordinate system based on the optimized transformation matrix; Update the marker parameter list and the electronic map based on the coordinates of the target positioning marker in the map coordinate system; The step of determining the optimal conversion matrix corresponding to the current moment based on the coordinates of the found positioning marks and matching marks in the map coordinate system comprises: if some positioning marks among the multiple positioning marks have corresponding matching marks, determining the optimal conversion matrix corresponding to the current moment based on each positioning mark among the part of the positioning marks and its corresponding matching mark; The method further comprises: when the optimized conversion matrix corresponding to the current moment is determined, recording the optimized conversion matrix corresponding to the current moment; The step of determining the coordinates of the target positioning mark in the map coordinate system based on the optimized transformation matrix if there is a target positioning mark without a matching mark among the multiple positioning marks includes: if there is a target positioning mark without a matching mark among the multiple positioning marks, updating the number of observations of the target positioning mark; detecting whether the updated number of observations is greater than a set number threshold; if it is greater than the number threshold, determining the coordinates of the target positioning mark in the map coordinate system based on the optimized transformation matrices corresponding to the moments when the target positioning mark is observed multiple times.

2. The method according to claim 1, characterized in that: The step of converting the coordinates of the plurality of positioning marks in the robot coordinate system into coordinates in the map coordinate system comprises: Get the initial transformation matrix corresponding to the current moment; For each positioning mark among the multiple positioning marks, the coordinates of the positioning mark in the robot coordinate system are multiplied by the initial transformation matrix to obtain the coordinates of the positioning mark in the map coordinate system.

3. The method according to claim 2, characterized in that The steps of obtaining the initial transformation matrix corresponding to the current moment include: The optimized transformation matrix at the previous moment of the current moment is multiplied by the posture change of the robot from the previous moment to the current moment to obtain the initial transformation matrix corresponding to the current moment.

4. The method according to any one of claims 1 to 3, characterized in that: The coordinates of each positioning marker in the marker parameter list are stored in the form of a kd tree; The step of searching the tag parameter list for matching tags respectively corresponding to the plurality of positioning tags comprises: For each positioning marker among the multiple positioning markers, searching for a candidate marker of the positioning marker in the kd tree using the coordinates of the positioning marker in the map coordinate system; If the distances between the candidate mark and the positioning mark are both smaller than a set distance threshold, the candidate mark is determined to be a matching mark of the positioning mark.

5. The method according to any one of claims 1 to 4, characterized in that: The step of updating the marker parameter list and the electronic map based on the coordinates of the target positioning marker in the map coordinate system comprises: Adding the coordinates of the target positioning mark in the map coordinate system and the identifier of the target positioning mark in the mark parameter list; An identifier of the target positioning mark is configured for a position corresponding to the coordinates of the target positioning mark in the map coordinate system in the electronic map.

6. The method according to any one of claims 1 to 5, characterized in that: The positioning mark is a reflective mark; The step of obtaining a plurality of positioning marks corresponding to the current position of the robot comprises: Acquire a laser point cloud set received at the current position of the robot through a laser sensor on the robot; Selecting a target laser point cloud having a reflection intensity greater than a set intensity threshold from the laser point cloud set; Point cloud clustering and parameter fitting are performed on each of the target laser point clouds to obtain a plurality of positioning marks corresponding to the current position of the robot.

7. The method according to claim 6, characterized in that The step of performing point cloud clustering and parameter fitting on each of the target laser point clouds to obtain a plurality of positioning marks corresponding to the current position of the robot includes: Based on the coordinates of each of the target laser point clouds in the robot coordinate system, clustering each of the target laser point clouds to obtain a plurality of point cloud clusters; For each point cloud cluster, parameter fitting is performed based on a preset positioning mark type and the coordinates of the point cloud in the point cloud cluster to obtain the center of the point cloud cluster; wherein the positioning mark type is used to characterize that the positioning mark in the target environment is a reflective column or a reflective strip; The center of each point cloud cluster is used as a positioning mark corresponding to the current position of the robot.

8. The method according to any one of claims 1 to 7, characterized in that: The method further comprises: The updated marking parameter list and the electronic map are synchronized to other robots in the target environment.

9. An electronic map updating device, characterized in that: The device is applied to an electronic device, wherein the electronic device pre-stores an electronic map of a target environment, wherein the electronic map includes a marking parameter list, wherein the marking parameter list includes coordinates of positioning marks set in the target environment in a map coordinate system; the device includes: A mark acquisition module, used for acquiring the coordinates of a plurality of positioning marks corresponding to the current position of the robot in the robot coordinate system during the movement of the robot; A coordinate conversion module, used for converting the coordinates of the plurality of positioning marks in the robot coordinate system into coordinates in the map coordinate system; A conversion matrix optimization module is used to search for matching marks corresponding to the plurality of positioning marks in the marking parameter list; and determine the optimization conversion matrix corresponding to the current moment based on the coordinates of the found positioning marks and matching marks in the map coordinate system; A coordinate optimization module, configured to determine the coordinates of the target positioning mark in a map coordinate system based on the optimization transformation matrix if there is a target positioning mark without a matching mark among the multiple positioning marks; A map updating module, used for updating the marker parameter list and the electronic map based on the coordinates of the target positioning marker in the map coordinate system; The conversion matrix optimization module is further used to: if some of the multiple positioning marks have corresponding matching marks, determine the optimization conversion matrix corresponding to the current moment based on each positioning mark in the part of the positioning marks and its corresponding matching mark; The coordinate optimization module is also used for: when determining the optimization conversion matrix corresponding to the current moment, recording the optimization conversion matrix corresponding to the current moment; if there is a target positioning mark without a matching mark among the multiple positioning marks, updating the observation number of the target positioning mark; detecting whether the updated observation number is greater than a set number threshold; if it is greater than the number threshold, determining the coordinates of the target positioning mark in the map coordinate system based on the optimization conversion matrices corresponding to the moments when the target positioning mark is observed multiple times.

10. An electronic device, characterized in that: The electronic device comprises: a processing device and a storage device; The storage device stores a computer program, which, when executed by the processing device, executes the method for updating the electronic map as claimed in any one of claims 1 to 8.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processing device, the steps of the method for updating an electronic map as claimed in any one of claims 1 to 8 are executed.

Citation Information

Patent Citations

  • Reflective column tracking and positioning method and device and electronic equipment

    CN111596299A