CN112685527A - Method, device and electronic system for establishing map - Google Patents
Method, device and electronic system for establishing map Download PDFInfo
- Publication number
- CN112685527A CN112685527A CN202011643740.9A CN202011643740A CN112685527A CN 112685527 A CN112685527 A CN 112685527A CN 202011643740 A CN202011643740 A CN 202011643740A CN 112685527 A CN112685527 A CN 112685527A
- Authority
- CN
- China
- Prior art keywords
- sub
- map
- maps
- marker
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 239000003550 marker Substances 0.000 claims abstract description 246
- 238000012545 processing Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 abstract description 14
- 238000013507 mapping Methods 0.000 description 23
- 238000004422 calculation algorithm Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 238000010276 construction Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
The invention provides a method, a device and an electronic system for establishing a map; wherein, the method comprises the following steps: acquiring a plurality of sub-maps of a target area and auxiliary information of each sub-map; each sub-map corresponds to a part of the target area; a part of the area is preset with a marker; the auxiliary information is used for indicating the position of the marker in the sub-map; determining the relative position relation among a plurality of designated sub-maps based on the position of each designated sub-map in the plurality of designated sub-maps of the same marker for the plurality of designated sub-maps containing the same marker; and establishing a map of the target area based on the relative position relationship between the designated sub-maps corresponding to each marker and the plurality of sub-maps. The marker is arranged in the target area, the relative position relation between the adjacent sub-maps can be quickly and accurately determined through the marker contained in the sub-maps, the public area between the sub-maps is not required to be searched in the process of map building, and the efficiency and the accuracy of map building are high.
Description
Technical Field
The invention relates to the technical field of artificial intelligence, in particular to a method, a device and an electronic system for establishing a map.
Background
SLAM (Simultaneous Localization And Mapping) Mapping tasks are usually performed by AGV (Automated Guided Vehicle) robots; for the mapping task under a large area scene, a robot can be used for mapping by areas to obtain a plurality of maps; in order to facilitate application of subsequent maps, multiple maps need to be merged based on a common area between the maps, but if scenes between the multiple maps are similar, finding the common area is difficult, errors are prone to occurring, a large amount of time is needed, and accordingly, the efficiency and the accuracy of map building are low.
Disclosure of Invention
In view of the above, the present invention provides a method, an apparatus and an electronic system for creating a map, so as to improve the efficiency and accuracy of map creation.
In a first aspect, an embodiment of the present invention provides a method for establishing a map, where the method is applied to a server; the method comprises the following steps: acquiring a plurality of sub-maps of a target area and auxiliary information of each sub-map; each sub-map corresponds to a part of the target area; a part of the area is preset with a marker; the auxiliary information is used for indicating the position of the marker in the sub-map; determining the relative position relation among a plurality of designated sub-maps based on the position of each designated sub-map in the plurality of designated sub-maps of the same marker for the plurality of designated sub-maps containing the same marker; and establishing a map of the target area based on the relative position relationship between the designated sub-maps corresponding to each marker and the plurality of sub-maps.
The auxiliary information includes: pose data of markers in the sub-map relative to the sub-map; wherein the pose data includes: and under the coordinate system corresponding to the sub-map, the position data and the angle data of the marker.
The step of determining the relative positional relationship between the plurality of designated sub-maps based on the position of the same marker on each of the plurality of designated sub-maps for the plurality of designated sub-maps including the same marker includes: for two designated sub-maps containing the same marker, the following operations are executed: determining first position data of the first sub-map relative to the second sub-map based on the position data of the same marker relative to the first sub-map of the two designated sub-maps and the position data of the same marker relative to the second sub-map of the two designated sub-maps; and determining the first attitude data of the first sub-map relative to the second sub-map as the relative position relationship between the two appointed sub-maps.
The step of determining the first posture data of the first sub-map relative to the second sub-map as the relative position relationship between the two designated sub-maps includes: if the first sub-map and the second sub-map contain the same markers and the same markers are multiple, acquiring first attitude data corresponding to each same marker; wherein the same marker is a marker appearing on both the first sub-map and the second sub-map; determining final first position data based on the plurality of first position data; and determining the final first posture data as the relative position relationship between the two designated sub-maps.
The step of establishing a map of the target area based on the relative positional relationship between the designated sub-maps corresponding to each marker and the plurality of sub-maps includes: determining a reference sub-map from the plurality of sub-maps, and determining the origin of coordinates of the reference sub-map as the origin of coordinates of the reference; for each sub-map except the reference sub-map in the plurality of sub-maps, converting the coordinate origin of the current sub-map into the reference coordinate origin according to the relative position relationship between the current sub-map and the reference sub-map to obtain a map of the target area; wherein the map of the target area comprises: and a plurality of sub-maps with the reference coordinate origin as the coordinate origin.
The method further comprises the following steps: determining at least one intermediate sub-map from the plurality of sub-maps if the current sub-map and the reference sub-map do not include the same marker; the marker is the same as that of the current sub-map, and the marker is the same as that of the reference sub-map; and determining the relative position relationship between the current sub-map and the reference sub-map based on the relative position relationship between the current sub-map and the at least one intermediate sub-map and the relative position relationship between the reference sub-map and the at least one intermediate sub-map.
The marker comprises a bar code and/or a two-dimensional code.
If the marker comprises a barcode, the barcode comprises a plurality of barcodes; a first specified barcode of the plurality of barcodes is used for indicating the position of the barcode; a second designated barcode of the plurality of barcodes is used to indicate a code identification of the barcode.
The step of obtaining the multiple sub-maps of the target area and the auxiliary information of each sub-map includes: receiving a plurality of sub-maps of a target area and auxiliary information of each sub-map uploaded by a robot; the method further comprises the following steps: storing the auxiliary information of each sub map into a preset information queue; traversing the information queue, taking each auxiliary information in the information queue as target information one by one, and executing the following operations aiming at the target information: inquiring whether first auxiliary information containing the same marker as the target information exists in the auxiliary information except the target information in the information queue; and if the first auxiliary information exists, determining the sub-map corresponding to the first auxiliary information and the sub-map corresponding to the target information as a plurality of designated sub-maps containing the same marker.
The step of obtaining the multiple sub-maps of the target area and the auxiliary information of each sub-map includes: collecting a plurality of sub-maps through a robot, and acquiring auxiliary information of each sub-map; the auxiliary information includes: pose data of markers in the sub-map relative to the sub-map; wherein the pose data includes: and under the coordinate system corresponding to the sub-map, the position data and the angle data of the marker.
In a second aspect, an embodiment of the present invention provides a method for building a map, where the method is applied to a robot, and the method includes: scanning a target area to obtain a plurality of sub-maps of the target area and auxiliary information of each sub-map; each sub-map corresponds to a part of the target area; a part of the area is preset with a marker; the auxiliary information is used for indicating the position of the marker in the sub-map; and uploading the auxiliary information of the multiple sub-maps and each sub-map of the target area to a server, wherein the auxiliary information of the multiple sub-maps and each sub-map of the target area is used for determining the map of the target area.
The step of scanning the target area to obtain a plurality of sub-maps of the target area and auxiliary information of each sub-map includes: collecting a plurality of sub-maps and determining auxiliary information of each sub-map; the auxiliary information includes: pose data of markers in the sub-map relative to the sub-map; wherein the pose data includes: and under the coordinate system corresponding to the sub-map, the position data and the angle data of the marker.
The step of determining the auxiliary information of each sub-map includes: for each sub-map, the following operations are performed: determining second posture data of the robot relative to the marker in the sub-map and third posture data of the robot relative to the sub-map; wherein the second position and orientation data comprises: position data and angle data of the robot in a coordinate system established with the marker as an origin; the third posture data includes: under the coordinate system corresponding to the sub-map, the position data and the angle data of the robot; and determining the position data of the marker in the sub-map relative to the sub-map according to the second position data and the third position data.
The step of determining second pose data of the robot with respect to the marker in the sub-map includes: acquiring fourth pose data of a sensor on the robot relative to the marker in the sub-map; wherein the fourth pose data comprises: position data and angle data of the sensor in a coordinate system established with the marker as an origin; determining second pose data of the robot relative to the marker in the sub-map based on the fourth pose data and fifth pose data of the sensor relative to the robot; wherein the fifth pose data includes: and under a coordinate system established by taking the robot as an origin, position data and angle data of the sensor.
The auxiliary information of each sub-map is obtained by the following steps: and acquiring a plurality of initial pose data of the markers acquired for a plurality of times relative to the sub-map aiming at each marker in each sub-map, and determining the pose data of the markers relative to the sub-map based on the initial pose data.
The auxiliary information is used for establishing a large scene map of the target area.
In a third aspect, an embodiment of the present invention provides an apparatus for establishing a map, where the apparatus is disposed in a server; the device comprises: the information acquisition module is used for acquiring a plurality of sub-maps of the target area and auxiliary information of each sub-map; each sub-map corresponds to a part of the target area; a part of the area is preset with a marker; the auxiliary information is used for indicating the position of the marker in the sub-map; the system comprises a relation determining module, a judging module and a judging module, wherein the relation determining module is used for determining the relative position relation among a plurality of appointed sub-maps based on the position of each appointed sub-map in the plurality of appointed sub-maps of the same marker aiming at the plurality of appointed sub-maps containing the same marker; and the sub-map establishing module is used for establishing a map of the target area based on the relative position relation between the designated sub-maps corresponding to each marker and the plurality of sub-maps.
In a fourth aspect, an embodiment of the present invention provides an apparatus for creating a map, where the apparatus is disposed in a robot, and the apparatus includes: the scanning module is used for scanning the target area to obtain a plurality of sub-maps of the target area and auxiliary information of each sub-map; each sub-map corresponds to a part of the target area; a part of the area is preset with a marker; the auxiliary information is used for indicating the position of the marker in the sub-map; the uploading module is used for uploading the auxiliary information of the multiple sub-maps and each sub-map of the target area to the server, and the auxiliary information of the multiple sub-maps and each sub-map of the target area is used for determining the map of the target area.
In a fifth aspect, an embodiment of the present invention provides an electronic system, including: a processing device and a storage device; the storage means has stored thereon a computer program which, when run by a processing device, performs the method of building a map as described above.
In a sixth aspect, the present invention provides a computer-readable storage medium, on which a computer program is stored, where the computer program is executed by a processing device to perform the steps of the method for creating a map as described above.
The embodiment of the invention has the following beneficial effects:
according to the method, the device and the electronic system for establishing the map, the markers are arranged in each part of the target area, and a plurality of sub-maps of the target area and auxiliary information of each sub-map are firstly obtained; the auxiliary information is used for indicating the position of the marker in the sub-map; determining the relative position relation among a plurality of designated sub-maps based on the position of the same marker in each sub-map of the plurality of designated sub-maps aiming at the plurality of designated sub-maps containing the same marker; and establishing a map of the target area based on the relative position relationship between the designated sub-maps corresponding to each marker and the plurality of sub-maps. In the method, the marker is arranged in the target area of the to-be-constructed map, the relative position relation between adjacent sub-maps can be quickly and accurately determined through the marker contained in the sub-maps, and then the complete map of the target area can be constructed and obtained based on the relative position relation between the sub-maps; in the process of map building, public areas among the sub-maps do not need to be found, and the efficiency and the accuracy of map building are high.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
In order to make the aforementioned and other objects, features and advantages of the present invention comprehensible, preferred embodiments accompanied with figures are described in detail below.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and other drawings can be obtained by those skilled in the art without creative efforts.
Fig. 1 is a schematic structural diagram of an electronic system according to an embodiment of the present invention;
fig. 2 is a flowchart of a method for creating a map according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of a laser barcode according to an embodiment of the present invention;
fig. 4 is a schematic diagram of a two-dimensional code for visual positioning according to an embodiment of the present invention;
FIG. 5 is a flowchart of another method for creating a map according to an embodiment of the present invention;
fig. 6 is a schematic structural diagram of an apparatus for creating a map according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of another apparatus for creating a map according to an embodiment of the present invention.
Detailed Description
To make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings, and it is apparent that the described embodiments are some, but not all embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In the related art, in order to realize the SLAM mapping task executed by the AGVs in a large area scene, one way is to optimize the mapping algorithm, and improve the compatibility of the mapping algorithm to the large scene by deleting unnecessary or ineffective data, and although the deleted data does not play a key role, the precision of mapping can be reduced, so that the mapping problem in an oversized scene cannot be fundamentally solved; in addition, the method is not friendly to the image creating staff, errors cannot be made in the middle of the image creating process, and otherwise the image creating process needs to be restarted.
In another mode, a plurality of sub-maps can be obtained by building a map by multiple robots; the sub-maps need to be switched back and forth when being applied, or a plurality of sub-maps are merged. The scheme of switching sub-maps back and forth needs to calibrate the mutual relation among the sub-maps, needs to store a plurality of sub-maps, and needs a user to repeatedly switch among the sub-maps during use, so that additional operation is added, and the working efficiency is reduced. According to the sub-map merging scheme, finding the public intersection between the sub-maps is not easy, particularly, errors are easy to occur for the sub-maps with similar scenes, the relative position relation between the sub-maps is not easy to obtain by using the public intersection, a large amount of time is needed, and the efficiency and the accuracy of map building are low.
Based on the above problems, embodiments of the present invention provide a method, an apparatus, and an electronic system for establishing a map, where the technology may be applied to map establishment in various scenes, and especially applied to map establishment in large-area scenes.
The first embodiment is as follows:
first, an example electronic system 100 for implementing the method, apparatus, and electronic system for building a map of embodiments of the present invention is described with reference to fig. 1.
As shown in fig. 1, an electronic system 100 includes one or more processing devices 102 and one or more memory devices 104. Optionally, the electronic system may further include an input device 106, an output device 108, and may additionally include one or more image capture devices 110, which may be interconnected via a bus system 112 and/or other form of connection mechanism (not shown). It should be noted that the components and structure of the electronic system 100 shown in fig. 1 are exemplary only, and not limiting, and that the electronic system may have other components and structures as desired.
The processing device 102 may be a server or an intelligent terminal or a device containing a Central Processing Unit (CPU) or other form of processing unit having data processing and/or instruction execution capabilities and may process data from and control other components of the electronic system 100 to perform desired functions.
Storage 104 may include one or more computer program products that may include various forms of computer-readable storage media, such as volatile memory and/or non-volatile memory. Volatile memory can include, for example, Random Access Memory (RAM), cache memory (or the like). The non-volatile memory may include, for example, Read Only Memory (ROM), a hard disk, flash memory, and the like. One or more computer program instructions may be stored on a computer-readable storage medium and executed by processing device 102 to implement the client functionality (implemented by the processing device) of the embodiments of the invention described below and/or other desired functionality. Various applications and various data, such as various data used and/or generated by the applications, may also be stored in the computer-readable storage medium.
The input device 106 may be a device used by a user to input instructions and may include one or more of a keyboard, a mouse, a microphone, a touch screen, and the like.
The output device 108 may output various information (e.g., images or sounds) to the outside (e.g., a user), and may include one or more of a display, a speaker, and the like.
For example, the devices in the electronic system for implementing the method, apparatus and electronic system for building a map according to the embodiments of the present invention may be integrally disposed, or may be disposed in a decentralized manner, such as integrally disposing the processing device 102, the storage device 104, the input device 106 and the output device 108, and disposing the image capturing device 110 at a designated position where a picture can be captured. When the above-described devices in the electronic system are integrally provided, the electronic system may be implemented as a robot or a server, or may also be implemented as a smart terminal such as a camera, a smart phone, a tablet computer, a vehicle-mounted terminal, a video camera, or the like.
Example two:
the present embodiment provides a method for creating a map, and first, a target area of the map to be created is described. The mobile robot scans the target area through a laser or a vision sensor; specifically, the robot may start scanning from a point in the target area, and after scanning for a period of time, if the scanning needs to be suspended, one or more markers are placed near the area where the robot is currently located, so as to demarcate and mark the scanned area and the areas needing to be scanned subsequently; then, the robot can be used or replaced by other robots to continue scanning, and at the moment, the robot can still scan the placed markers; thus, the same marker is present in the sub-maps of both regions. In another mode, the target area may be divided into a plurality of sub-areas in advance, and one or more markers may be placed between adjacent sub-areas, where the sub-maps corresponding to the adjacent sub-areas all have the same marker.
Based on the above, referring to the flowchart of a method for building a map shown in fig. 2, the method may be executed by a server, and the method includes the following steps:
step S202, acquiring a plurality of sub-maps of a target area and auxiliary information of each sub-map; each sub-map corresponds to a part of the target area; a marker is preset in the partial area; the auxiliary information is used for indicating the position of the marker in the sub-map; one or more markers may be placed in each portion of the target area.
When the area of the target area is larger, a plurality of sub-maps can be obtained through scanning by one robot in a staged manner, or a plurality of sub-maps can be obtained through scanning by a plurality of robots; each sub-map corresponds to a part of the target area; splicing a plurality of sub-maps to obtain a complete map of a target area; in order to accurately identify the relative position relationship between the sub-maps, the marker can be set in the corresponding area of each sub-map when the sub-maps are scanned; when the robot scans the area, the relevant information of the marker can be obtained by scanning; based on the related information of the marker, the auxiliary information of the sub-map can be obtained. The marker can be in the form of a bar code, a two-dimensional code, a reflective strip, a color bar, etc., and the robot can identify and locate the marker, thereby obtaining the position of the marker in the sub-map.
Step S204, aiming at a plurality of designated sub-maps containing the same marker, determining the relative position relation among the designated sub-maps based on the position of the same marker in each sub-map in the designated sub-maps;
when the robot scans the sub-maps of two or more adjacent areas, the same marker is scanned into the sub-map corresponding to each area, and at the moment, a plurality of appointed sub-maps contain the same marker; when the multiple designated sub-maps contain the same marker, the relative position relationship between the multiple designated sub-maps can be determined based on the marker. The above-mentioned specific sub-map may include two or more sub-maps. There may be one or more of the same marker included between the designated sub-maps.
Step S206, based on the relative position relation between the designated sub-maps corresponding to each marker and the plurality of sub-maps, a map of the target area is established.
In practical implementation, an ID (Identity Document) number may be set for each marker to distinguish different markers; through each marker, a designated sub-map containing the marker and the relative position relationship between the designated sub-maps can be obtained; at this time, the relative position relationship between the sub-maps corresponding to each part of the target area can be determined; by splicing sub-maps or unifying coordinate systems, a map corresponding to the whole target area can be constructed.
In the method for establishing the map, the marker is arranged in each part area of the target area, and a plurality of sub-maps corresponding to each part area of the target area and auxiliary information of each sub-map are firstly obtained; the auxiliary information is used for indicating the position of the marker in the sub-map; determining the relative position relation among a plurality of designated sub-maps based on the position of each designated sub-map in the plurality of designated sub-maps of the same marker for the plurality of designated sub-maps containing the same marker; and establishing a map corresponding to the whole target area based on the relative position relation between the designated sub-maps corresponding to each marker and the plurality of sub-maps. In the method, the marker is arranged in the target area of the to-be-constructed map, the relative position relation between adjacent sub-maps can be quickly and accurately determined through the marker contained in the sub-maps, and then the complete map of the target area can be constructed and obtained based on the relative position relation between the sub-maps; in the process of map building, public areas among the sub-maps do not need to be found, and the efficiency and the accuracy of map building are high.
Example three:
the present embodiment describes a specific form of the marker. The marker may include a barcode and/or a two-dimensional code. The marker may include only one of a barcode or a two-dimensional code, or may include both a barcode and a two-dimensional code. The two-dimensional code can also be called a visual positioning two-dimensional code, and the visual positioning two-dimensional code is scanned and used by the robot through a camera. The following description is made separately.
If the marker comprises a barcode, the barcode comprises a plurality of barcodes; a first specified barcode of the plurality of barcodes is used for indicating the position of the barcode; a second designated barcode of the plurality of barcodes is used to indicate a code identification of the barcode. Fig. 3 is a schematic diagram of an example of a laser barcode, which is also referred to as a laser Mark, and the laser barcode in fig. 3 includes ten barcodes, but may include other numbers of barcodes. In order to facilitate the identification of the robot, the laser bar code can be made of a reflective material. The robot needs to identify the position of the laser barcode, as well as the ID number of the laser barcode. Based on the above, the laser bar code needs to be encoded, and specifically, a first specified bar code in a plurality of bar codes of the laser bar code can be set to indicate the position of the laser bar code; a second designated barcode of the plurality of barcodes is used to indicate a code identification of the laser barcode. The first designated bar code can be one or more bar codes designated in the laser bar code; the second designated barcode may also be one or more of the barcodes designated in the laser barcode.
Continuing to refer to fig. 3, starting from the left side, the first two barcodes are used for identifying the position of the laser barcode by the robot, that is, the laser barcode is located, and may be made of a high-intensity reflective material, and the first two barcodes in fig. 3 are black-white in color, and may also be provided with other color components; the latter eight bar codes are used for robot identification to identify the ID number of the bar code, and the bar code can be encoded and identified by adopting a Hamming encoding mode. The width of each bar code can be set to be 5 cm, and other widths can also be set; the color of the bar code can be determined according to factors such as the position, ID number, and encoding mode of each laser bar code. FIG. 4 is an example of a visually-located two-dimensional code; the visual positioning two-dimensional code can be obtained by adopting an AruCo two-dimensional code and Hamming coding.
Example four:
the present embodiment describes a specific manner of acquiring the auxiliary information of a plurality of sub-maps and each sub-map. As can be seen from the foregoing embodiments, when the robot scans and obtains the sub-map, the robot scans and identifies the markers in the area. In a specific implementation manner, a plurality of sub-maps can be collected by the robot and uploaded to the server, and then the server determines the auxiliary information of each sub-map. In another implementation mode, a plurality of sub-maps can be collected through the robot, then the auxiliary information of each sub-map is determined through the robot, and the robot uploads the sub-maps and the auxiliary information of each sub-map to the server.
The auxiliary information includes: pose data of the markers in the sub-map relative to the sub-map. The pose data of the marker in the sub-map relative to the sub-map specifically comprises position data and angle data of the marker in a coordinate system corresponding to the sub-map; wherein the position data is used for indicating the position of the marker, for example, the position coordinate of the marker in the coordinate system corresponding to the sub-map; the marker itself may be rotated in three-dimensional space with the position being maintained, so that the angle of the marker changes, and the angle data is used to record the angle of the marker in the above-mentioned coordinate system.
When the robot scans to obtain the sub-map, a coordinate system is set for the sub-map, and each position point in the sub-map corresponds to a coordinate value. When the target area includes a plurality of markers, the auxiliary information may include an ID number of the marker in order to distinguish the different markers, and the ID number of the marker may be obtained by scanning the marker by a robot.
When determining the auxiliary information of each sub-map, the following steps (11) - (12) may be specifically performed for each sub-map:
step (11), determining second posture data of the robot relative to the marker in the sub-map and third posture data of the robot relative to the sub-map; wherein the second position and orientation data comprises: position data and angle data of the robot in a coordinate system established with the marker as an origin; the third posture data includes: under the coordinate system corresponding to the sub-map, the position data and the angle data of the robot;
the second posture data can be obtained through the following steps a and b:
step a, acquiring fourth position data of a sensor on the robot relative to a marker in a sub-map; wherein the fourth pose data comprises: position data and angle data of the sensor in a coordinate system established with the marker as an origin;
the sensor can be a laser sensor or an image acquisition device; taking a laser sensor as an example, when a robot scans, the robot projects collected laser point clouds into a preset laser coordinate system, identifies a first specified bar code in a laser bar code through the adjacent relation of laser points so as to determine the position of the laser bar code, and then identifies a second specified bar code in the laser bar code so as to obtain an ID number of the laser bar code, and simultaneously can obtain pose data of the laser sensor relative to the laser bar codeNamely the fourth posture data; wherein, MarkiRepresents the ith marker, namely a laser bar code; where i represents the ID number of the tag; points stands for laser sensor; t represents pose data.
B, determining second pose data of the robot relative to the marker in the sub-map based on the fourth pose data and fifth pose data of the sensor relative to the robot; wherein the fifth pose data includes: and under a coordinate system established by taking the robot as an origin, position data and angle data of the sensor.
Fifth pose data of the sensor with respect to the robot can be expressed asWherein, baseiRepresents the ith robot; where i represents the ID number of the robot; the fifth pose data is known data and can be obtained when the robot scans the area. And performing geometric operation on the fourth pose data and the fifth pose data to obtain second pose data of the robot relative to the marker in the sub-map.
When the robot performs the visual scanning, the visual positioning two-dimensional code may be specifically aru mark, and the second pose data of the robot relative to the marker in the sub-map may also be obtained through a corresponding recognition matching algorithm in opencv.
After the second pose data of the robot relative to the marker in the sub-map is obtained, third pose data of the robot relative to the sub-map is also required to be obtained. The third posture data is output by a mapping algorithm; for laser scanning, the input of the mapping algorithm can be data output by devices such as a laser sensor, an inertial measurement unit and a speedometer; for visual scanning, the input of the mapping algorithm can be data output by devices such as a camera unit (used for collecting image data), an inertial measurement unit and a milemeter. The mapping algorithm can be executed by a robot or a server; and outputting the sub-map and the third posture data by the map building algorithm based on the input data. The mapping algorithm may be an existing mapping algorithm in the related art.
And (12) determining the position data of the marker in the sub-map relative to the sub-map according to the second position data and the third position data.
Based on the second pose data and the third pose data of the robot relative to the sub-map, it may be determined that the marker in the sub-map is relative to the sub-mapThe pose data of (a). Wherein the second pose data of the robot relative to the marker in the sub-map can be represented asThe third pose data of the robot with respect to the sub-map may be expressed asWherein map isiRepresents the ith sub-map, wherein i represents the ID number of the sub-map; the pose data of the marker in the sub-map relative to the sub-map can be expressed asTheCan be calculated by the following formula:
when the auxiliary information of each sub-map is acquired, one marker may be scanned only once to obtain one pose data of the marker, and at this time, the pose data of the marker is directly saved as the auxiliary information of the sub-map. In the process of drawing by the robot, the same marker may be scanned for multiple times, multiple initial pose data of the marker relative to the sub-map are acquired, at the moment, multiple acquired initial pose data of the marker relative to the sub-map are acquired for each marker in each sub-map, and the pose data of the marker relative to the sub-map are determined based on the multiple initial pose data. Thus, auxiliary information of each sub map can be obtained.
Specifically, the multiple initial pose data corresponding to one marker may be processed in multiple ways to obtain the pose data of the marker, for example, an average value of the multiple initial pose data is obtained as the pose data of the marker. In order to obtain more accurate pose data and minimize the finally obtained pose data error, the final pose data can be obtained by adopting a nonlinear least square mode.
Specifically, the optimization variables of the nonlinear least square method are as follows: relative relationship of ith mark to mth sub-mapThe error function found is:wherein M denotes a mapmTime MarkiThe total observed times, namely the total number of the initial pose data corresponding to the same marker; k represents the kth initial pose data of the marker; min is the minimum value; other alphabetical meanings can be referred to in the foregoing description of the present embodiment. Theoretically, each oneAndbased on this, the error of the single initial pose data is measured asThe sum of the errors of all the initial pose data forms the error function; the purpose is to find the minimum value of the error function, when the error function obtains the minimum value, the timeThe sum of errors with each initial pose data is minimized at the timeNamely the final pose data, and the pose data is saved as the auxiliary information of the sub-map.
Example five:
by the method, the sub-map and the auxiliary information of the sub-map can be obtained, and the auxiliary information of the sub-map can be stored in the following way: the name or ID number of the sub-map, the ID number of the marker contained in the sub-map, and pose data of the marker with respect to the sub-map. That is, each piece of auxiliary information includes an ID number of one sub-map, an ID number of one marker, and pose data of the marker with respect to the sub-map. Having obtained the above-mentioned auxiliary information, the present embodiment needs to determine the relative positional relationship between the sub-maps based on the auxiliary information. Generally, sub-maps containing the same marker often have an adjacent relationship, and in order to determine a specific relative positional relationship between sub-maps containing the same marker, steps (21) and (22) of performing the following operation for two designated sub-maps containing the same marker are required:
step (21), determining first pose data of the first sub-map relative to the second sub-map based on the pose data of the same marker relative to the first sub-map in the two designated sub-maps and the pose data of the same marker relative to the second sub-map in the two designated sub-maps;
firstly, after the auxiliary information is obtained, matching can be carried out on each piece of auxiliary information and other pieces of auxiliary information, if two sub-maps with different ID numbers correspond to markers with the same ID number, the two sub-maps are related or have an adjacent relation; in this way, a plurality of pairs of two designated sub-maps having the same marker can be obtained.
The first attitude data of the first sub-map relative to the second sub-map can be obtained by the following equation:wherein map isiRepresents a first sub-map, where i represents the ID number of the first sub-map; mapjRepresents a second sub-map, j represents an ID number of the second sub-map;representing pose data, mark, of the same marker relative to the first sub-mapiRepresents the same tag, where i represents the tag's ID number;representing pose data of the same marker relative to a second sub-map.
And (22) determining the first posture data of the first sub-map relative to the second sub-map as the relative position relation between the two designated sub-maps.
If the first sub-map and the second sub-map only have one same marker, the first posture data can be directly determined as the relative position relationship between the two designated sub-maps. If the first sub-map and the second sub-map contain the same markers and the same markers are multiple, acquiring first attitude data corresponding to each same marker; wherein the same marker is a marker that appears in both the first sub-map and the second sub-map. If the same markers included in the first sub-map and the second sub-map comprise a plurality of markers, acquiring first posture data corresponding to each same marker; determining final first pose data based on the plurality of first pose data; and determining the final first posture data as the relative position relationship between the two designated sub-maps.
Specifically, the final first posture data may be determined in various ways, for example, by averaging a plurality of first posture data to obtain the final first posture data. In order to obtain more accurate first position data and minimize the finally obtained position and orientation data error, the final first position and orientation data can be obtained by adopting a nonlinear least square mode.
In the nonlinear least square method, the optimization variable isThe error function is:wherein, min represents the minimum value; m represents the total amount of the first posture data, and k represents the ID number of the first posture data; other alphabetical meanings can be referred to in the foregoing examples.
In the above-mentioned error function, the error signal,represents the k-th first bit position data, namely the relationship of the jth map relative to the ith map, represents the error of the kth first bit position data, i.e. the error of the single first bit position data. The sum of the errors of all the first attitude data forms the error function; the purpose is to find the minimum value of the error function, when the error function obtains the minimum value, the timeThe sum of the errors with each first bit position data is minimized whenI.e. the final first bit position data.
And after the relative position relation between each pair of sub-maps with the same marker is obtained, a complete map of the target area can be established. The method can be realized by the following steps (31) to (32):
step (31), determining a reference sub-map from the plurality of sub-maps, and determining the coordinate origin of the reference sub-map as a reference coordinate origin;
one reference sub-map may be randomly determined from a plurality of sub-maps, or one reference sub-map may be determined from a plurality of sub-maps according to the area position corresponding to each sub-map. In the multiple sub-maps, each sub-map is provided with a coordinate system, and the coordinate system comprises a coordinate origin.
Step (32), aiming at each sub-map except the reference sub-map in the plurality of sub-maps, converting the coordinate origin of the current sub-map into the reference coordinate origin according to the relative position relation between the current sub-map and the reference sub-map to obtain the map of the target area; wherein the map of the target area comprises: the plurality of sub-maps take the reference coordinate origin as the coordinate origin.
According to the relative position relationship between the current sub-map and the reference sub-map, the relative position relationship between the coordinate origin of the current sub-map and the reference coordinate origin can be determined. Based on the relative position relationship between the coordinate origin points, the coordinate values of each point in the current sub-map can be converted into coordinate values under the reference coordinate origin point. Therefore, the data points in the multiple sub-maps adopt the same coordinate system, and the data points between the sub-maps have definite position relation, so that a complete map of the target area can be obtained.
In addition, if the current sub-map is far from the area corresponding to the reference sub-map, and there is no adjacency therebetween, the current sub-map and the reference sub-map may not contain the same marker. Determining at least one intermediate sub-map from the plurality of sub-maps if the current sub-map and the reference sub-map do not include the same marker; the marker is the same as that of the current sub-map, and the marker is the same as that of the reference sub-map; and determining the relative position relationship between the current sub-map and the reference sub-map based on the relative position relationship between the current sub-map and the at least one intermediate sub-map and the relative position relationship between the reference sub-map and the at least one intermediate sub-map.
The intermediate sub-map may be one, the intermediate sub-map has the same marker as the current sub-map and also has the same marker as the reference sub-map, and the relative position relationship between the current sub-map and the reference sub-map may be calculated based on the relative position relationship between the current sub-map and the intermediate sub-map and the relative position relationship between the reference sub-map and the intermediate sub-map.
If there is no intermediate sub-map having a relative positional relationship with both the current sub-map and the reference sub-map, the relative positional relationship between the current sub-map and the reference sub-map can be determined by using the plurality of sub-maps, and at this time, there are a plurality of intermediate sub-maps.
As an example, if there are two middle sub-maps, respectively, a middle sub-map a and a middle sub-map B; the middle sub-map A and the current sub-map have the same marker, but do not have the same marker as the reference sub-map; the middle sub-map B has the same marker as the reference sub-map but does not have the same marker as the current sub-map; at this time, it is necessary to first obtain the relative position relationship a between the intermediate sub-map a and the current sub-map, then obtain the relative position relationship B between the intermediate sub-map B and the reference sub-map, and then derive the relative position relationship between the current sub-map and the reference sub-map based on the relative position relationship a, the relative position relationship B, and the relative position relationship between the intermediate sub-map a and the intermediate sub-map B.
It should be noted that the intermediate sub-map a and the intermediate sub-map B need to have the same marker, so as to obtain the relative position relationship between the intermediate sub-map a and the intermediate sub-map B; if the middle sub-map a and the middle sub-map B do not have the same marker, the middle sub-map C or more middle sub-maps are needed to obtain the relative position relationship between the middle sub-map a and the middle sub-map B, and the number of the middle sub-maps is greater than two.
In other feasible implementation manners, the robot may collect a plurality of sub-maps of the target area and determine the auxiliary information of each sub-map, then the robot sends the plurality of sub-maps of the target area and the auxiliary information of each sub-map to the server, and the server receives the plurality of sub-maps of the target area and the auxiliary information of each sub-map uploaded by the robot. Then, the server stores the auxiliary information of each sub map into a preset information queue; the information queue stores auxiliary information of all sub-maps. Traversing the information queue, taking each piece of auxiliary information in the information queue as target information one by one, and executing the following operations aiming at the target information: inquiring whether first auxiliary information containing the same marker as the target information exists in the auxiliary information except the target information in the information queue; and if the first auxiliary information exists, determining the sub-map corresponding to the first auxiliary information and the sub-map corresponding to the target information as a plurality of designated sub-maps containing the same marker.
By the method, a plurality of groups of the designated sub-maps containing the same marker can be obtained, and for each group of the designated sub-maps containing the same marker, the relative position relationship between the designated sub-maps containing the same marker can be obtained through the embodiment, so that the map of the target area can be obtained.
The above method for building a map is described below from the perspective of a robot, and referring to a flowchart of a method for building a map shown in fig. 5, the method is applied to a robot, and the method includes:
step S502, scanning a target area to obtain a plurality of sub-maps of the target area and auxiliary information of each sub-map; each sub-map corresponds to a part of the target area; a part of the area is preset with a marker; the auxiliary information is used for indicating the position of the marker in the sub-map;
the auxiliary information is used for establishing a large scene sub-map of the target area. The method is particularly suitable for establishing a complete large sub-map of the target area through the small sub-maps corresponding to the sub-areas in the target area when the area of the target area is large.
Step S504, uploading the auxiliary information of the multiple sub-maps and each sub-map of the target area to a server, wherein the auxiliary information of the multiple sub-maps and each sub-map of the target area is used for determining the map corresponding to the target area.
The step of scanning the target area to obtain a plurality of sub-maps of the target area and auxiliary information of each sub-map includes: collecting a plurality of sub-maps and determining auxiliary information of each sub-map; the auxiliary information includes: pose data of markers in the sub-map relative to the sub-map; wherein the pose data includes: and under the coordinate system corresponding to the sub-map, the position data and the angle data of the marker.
The step of determining the auxiliary information of each sub-map includes: for each sub-map, the following operations are performed: determining second posture data of the robot relative to the marker in the sub-map and third posture data of the robot relative to the sub-map; wherein the second position and orientation data comprises: position data and angle data of the robot in a coordinate system established with the marker as an origin; the third posture data includes: under the coordinate system corresponding to the sub-map, the position data and the angle data of the robot; and determining the position data of the marker in the sub-map relative to the sub-map according to the second position data and the third position data.
The step of determining second pose data of the robot with respect to the marker in the sub-map includes: acquiring fourth pose data of a sensor on the robot relative to the marker in the sub-map; wherein the fourth pose data comprises: position data and angle data of the sensor in a coordinate system established with the marker as an origin; determining second pose data of the robot relative to the marker in the sub-map based on the fourth pose data and fifth pose data of the sensor relative to the robot; wherein the fifth pose data includes: and under a coordinate system established by taking the robot as an origin, position data and angle data of the sensor.
The auxiliary information of each sub-map is obtained by the following steps: and acquiring a plurality of initial pose data of the markers acquired for a plurality of times relative to the sub-map aiming at each marker in each sub-map, and determining the pose data of the markers relative to the sub-map based on the initial pose data.
For the specific implementation manner of determining the auxiliary information in this embodiment, reference may be made to the foregoing embodiment, which is not described herein again.
In the method for establishing the map, the marker is arranged in each part of the target area, and a plurality of sub-maps of the target area and the auxiliary information of each sub-map are firstly obtained; the auxiliary information is used for indicating the position of the marker in the sub-map; determining the relative position relation among a plurality of designated sub-maps based on the position of each designated sub-map in the plurality of designated sub-maps of the same marker for the plurality of designated sub-maps containing the same marker; and establishing a map of the target area based on the relative position relationship between the designated sub-maps corresponding to each marker and the plurality of sub-maps. In the method, the marker is arranged in the target area of the to-be-constructed map, the relative position relation between adjacent sub-maps can be quickly and accurately determined through the marker contained in the sub-maps, and then the complete map of the target area can be constructed and obtained based on the relative position relation between the sub-maps; in the process of map building, public areas among the sub-maps do not need to be found, and the efficiency and the accuracy of map building are high.
Example six:
when the robot executes tasks based on the map, the robot can normally work only when the correct pose is obtained; when the robot acquires the pose, a sub-map in the current scene is required to provide a pose standard, the pose standard of the robot refers to the relative relation of the robot relative to a certain coordinate origin, and the sub-map can provide the coordinate origin. And the sub-map can provide the global pose in real time and eliminate the accumulated error, so the construction of the sub-map is very important for the normal work of the robot. Based on this, the present embodiment provides a method for constructing a map in a large area scene.
In a large scene area, in order to solve the problem of low robot map building efficiency, maps can be built in batches, namely a single robot builds a sub-map for multiple times or multiple robots build the sub-map cooperatively; at this time, the core problem to be solved is how to accurately and efficiently calculate the relative position relationship between the sub-maps. In order to identify the intersection area between the sub-maps in the global coordinate system and calculate the relative position relationship between the sub-maps, the present embodiment uses the auxiliary Mark (corresponding to the marker in the foregoing embodiment) to quickly and efficiently calculate the relative position relationship between the sub-maps, so as to obtain the map for constructing the large-area scene.
The mapping method in the embodiment is simple to deploy, the existing mapping algorithm in the related technology does not need to be modified, only identifiable marks are placed at the junction of the corresponding areas of the two sub-maps in the robot mapping process, the sub-maps are assisted to identify and match public areas, and the sub-maps and auxiliary information are uploaded to a server after the mapping process is completed, so that the relative position relation of the sub-maps is obtained.
The method for establishing the graph in the embodiment specifically comprises the following steps:
step 41, Mark type selection; selecting a Mark type based on the mapping type; if the 2D laser mapping is carried out, a straight plate with a reflective strip code is adopted as an auxiliary Mark; if the image is created visually, an AruCo two-dimensional code is adopted, wherein the AruCo is a minimum library for augmented reality application based on opencv.
Step 42, starting the auxiliary node; in the map building process, an auxiliary large scene algorithm is started while a map building algorithm is started, and the auxiliary large scene algorithm can identify information such as the position and the ID number of Mark placed in a scene.
Step 43, placing Mark; and (3) placing auxiliary marks at the junction of the two sub-maps, wherein a plurality of auxiliary marks can be placed for improving the drawing accuracy, and the junction of the two sub-maps is generally determined by a drawing worker.
Step 44, calculating the relative position relation of the Mark; according to the detected Mark information and the pose of the robot in the image building process, the pose of the Mark relative to the sub-map, namely the auxiliary information of the sub-map, can be obtained;
step 45, storing the auxiliary information; after the sub-map is completed, the sub-map generated by the mapping algorithm is stored, and auxiliary information of the sub-map is also stored;
step 46, calculating the relative position relation among the sub-maps; uploading auxiliary information of a plurality of sub-maps in a large scene to a server, and obtaining the relative position relation of each sub-map based on the auxiliary information of each sub-map; the specific calculation method can refer to the foregoing embodiment.
Step 47, completing the construction of a large scene map; the sub-maps can be associated by utilizing the relative position relation of the sub-maps; because the relative position relation of each sub-map is known, the complete map of the whole large scene can be represented at the same reference origin, and the construction of the large scene map is completed.
The auxiliary Mark is used for constructing the large-scene SLAM sub-map, so that the problem of constructing the large-scene sub-map at a single time is solved, meanwhile, the auxiliary Mark is used for accurately identifying the public area among the sub-maps, and the wrong result caused by the similar scene is avoided; in the related art, the purpose of identifying the public scene is to find the relative position relationship between two sub-maps, and similar scenes can cause a common scene identification error and a relative position relationship calculation error. Meanwhile, each auxiliary Mark robot in the public area can observe for multiple times, a sensor of the robot sends data at a certain frequency every second, and each time, the auxiliary Mark can be detected, so that the auxiliary Mark can be observed for multiple times; and then, the relative position relation of the auxiliary Mark relative to the sub-map can be accurately obtained by utilizing nonlinear least squares, so that the phenomenon that an inaccurate result is observed once to cause a large error is avoided. When the relative position relationship between the two sub-maps is calculated, the accuracy can be improved by placing a plurality of marks in a public area, and the final relative position relationship between the sub-maps is obtained.
According to the map building method under the large scene, the auxiliary Mark is placed in the public area among the sub-maps, the identification of the public areas of the sub-maps is assisted, the identification result is stable and reliable, and the influence of the environment is not depended on. In addition, a plurality of auxiliary marks can be placed between two adjacent sub-maps, one relative position relationship of the two sub-maps can be obtained based on each auxiliary Mark, a plurality of relative position relationships can be obtained through the plurality of auxiliary marks, and the optimal relative position relationship can be obtained based on the plurality of relative position relationships in a nonlinear least square mode. The scheme does not depend on the mapping algorithm, is simple to deploy, and can obtain the relative position relation of the sub-maps according to the auxiliary information.
Example seven:
corresponding to the above method embodiment, refer to a schematic structural diagram of an apparatus for building a map shown in fig. 6, where the apparatus is disposed in a server; the device includes:
an information obtaining module 60, configured to obtain multiple sub-maps of the target area and auxiliary information of each sub-map; each sub-map corresponds to a part of the target area; a part of the area is preset with a marker; the auxiliary information is used for indicating the position of the marker in the sub-map;
the relationship determining module 61 is configured to determine, for a plurality of designated sub-maps including the same marker, a relative positional relationship between the plurality of designated sub-maps based on a position of the same marker in each of the plurality of designated sub-maps;
and a map building module 62, configured to build a map of the target area based on the relative position relationship between the designated sub-maps corresponding to each marker, and the plurality of sub-maps.
The auxiliary information includes: pose data of markers in the sub-map relative to the sub-map; wherein the pose data includes: and under the coordinate system corresponding to the sub-map, the position data and the angle data of the marker. The relationship determination module is further configured to: for two designated sub-maps containing the same marker, the following operations are executed: determining first position data of the first sub-map relative to the second sub-map based on the position data of the same marker relative to the first sub-map of the two designated sub-maps and the position data of the same marker relative to the second sub-map of the two designated sub-maps; and determining the first attitude data of the first sub-map relative to the second sub-map as the relative position relationship between the two appointed sub-maps.
The relationship determination module is further configured to: if the first sub-map and the second sub-map contain the same markers and the same markers are multiple, acquiring first attitude data corresponding to each same marker; wherein the same marker is a marker appearing on both the first sub-map and the second sub-map; determining final first position data based on the plurality of first position data; and determining the final first posture data as the relative position relationship between the two designated sub-maps.
The map building module is further configured to: determining a reference sub-map from the plurality of sub-maps, and determining the origin of coordinates of the reference sub-map as the origin of coordinates of the reference; for each sub-map except the reference sub-map in the plurality of sub-maps, converting the coordinate origin of the current sub-map into the reference coordinate origin according to the relative position relationship between the current sub-map and the reference sub-map to obtain a map of the target area; wherein the map of the target area comprises: and a plurality of sub-maps with the reference coordinate origin as the coordinate origin.
The apparatus further comprises a first determining module configured to:
determining at least one intermediate sub-map from the plurality of sub-maps if the current sub-map and the reference sub-map do not include the same marker; the marker is the same as that of the current sub-map, and the marker is the same as that of the reference sub-map; and determining the relative position relationship between the current sub-map and the reference sub-map based on the relative position relationship between the current sub-map and the at least one intermediate sub-map and the relative position relationship between the reference sub-map and the at least one intermediate sub-map.
The marker comprises a bar code and/or a two-dimensional code.
If the marker comprises a barcode, the barcode comprises a plurality of barcodes; a first specified barcode of the plurality of barcodes is used for indicating the position of the barcode; a second designated barcode of the plurality of barcodes is used to indicate a code identification of the barcode.
The information obtaining module is further configured to: receiving a plurality of sub-maps of a target area and auxiliary information of each sub-map uploaded by a robot;
the apparatus further comprises an information processing module configured to: storing the auxiliary information of each sub map into a preset information queue; traversing the information queue, taking each auxiliary information in the information queue as target information one by one, and executing the following operations aiming at the target information: inquiring whether first auxiliary information containing the same marker as the target information exists in the auxiliary information except the target information in the information queue; and if the first auxiliary information exists, determining the sub-map corresponding to the first auxiliary information and the sub-map corresponding to the target information as a plurality of designated sub-maps containing the same marker.
The information obtaining module is further configured to: collecting a plurality of sub-maps through a robot, and acquiring auxiliary information of each sub-map; the auxiliary information includes: pose data of markers in the sub-map relative to the sub-map; wherein the pose data includes: and under the coordinate system corresponding to the sub-map, the position data and the angle data of the marker.
Referring to fig. 7, another map building apparatus is provided to a robot, and includes:
the scanning module 70 is configured to scan a target area to obtain a plurality of sub-maps of the target area and auxiliary information of each sub-map; each sub-map corresponds to a part of the target area; a part of the area is preset with a marker; the auxiliary information is used for indicating the position of the marker in the sub-map;
the uploading module 72 is configured to upload the multiple sub-maps of the target area and the auxiliary information of each sub-map to the server, where the multiple sub-maps of the target area and the auxiliary information of each sub-map are used to determine the map of the target area.
The scanning module is further configured to: collecting a plurality of sub-maps and acquiring auxiliary information of each sub-map; the auxiliary information includes: pose data of markers in the sub-map relative to the sub-map; wherein the pose data includes: and under the coordinate system corresponding to the sub-map, the position data and the angle data of the marker.
The scanning module is further configured to: for each sub-map, the following operations are performed: determining second posture data of the robot relative to the marker in the sub-map and third posture data of the robot relative to the sub-map; wherein the second position and orientation data comprises: position data and angle data of the robot in a coordinate system established with the marker as an origin; the third posture data includes: under the coordinate system corresponding to the sub-map, the position data and the angle data of the robot; and determining the position data of the marker in the sub-map relative to the sub-map according to the second position data and the third position data.
The scanning module is further configured to: acquiring fourth pose data of a sensor on the robot relative to the marker in the sub-map; wherein the fourth pose data comprises: position data and angle data of the sensor in a coordinate system established with the marker as an origin; determining second pose data of the robot relative to the marker in the sub-map based on the fourth pose data and fifth pose data of the sensor relative to the robot; wherein the fifth pose data includes: and under a coordinate system established by taking the robot as an origin, position data and angle data of the sensor.
The scanning module is further configured to: and acquiring a plurality of initial pose data of the markers acquired for a plurality of times relative to the sub-map aiming at each marker in each sub-map, and determining the pose data of the markers relative to the sub-map based on the initial pose data.
The auxiliary information is used for establishing a large scene sub-map of the target area.
The present embodiment further provides an electronic system, including: a processing device and a storage device; the storage means has stored thereon a computer program which, when run by a processing device, performs the method of building a map as described above.
The present embodiment also provides a computer-readable storage medium having stored thereon a computer program which, when being executed by a processing device, performs the steps of the method of building a map as described above.
The method, the apparatus, and the computer program product of the electronic system for establishing a map provided in the embodiments of the present invention include a computer-readable storage medium storing a program code, where instructions included in the program code may be used to execute the method described in the foregoing method embodiments, and specific implementation may refer to the method embodiments, and will not be described herein again.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the system and the apparatus described above may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In addition, in the description of the embodiments of the present invention, unless otherwise explicitly specified or limited, the terms "mounted," "connected," and "connected" are to be construed broadly, e.g., as meaning either a fixed connection, a removable connection, or an integral connection; can be mechanically or electrically connected; they may be connected directly or indirectly through intervening media, or they may be interconnected between two elements. The specific meaning of the above terms in the present invention can be understood in specific cases for those skilled in the art.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
In the description of the present invention, it should be noted that the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", etc., indicate orientations or positional relationships based on the orientations or positional relationships shown in the drawings, and are only for convenience of description and simplicity of description, but do not indicate or imply that the device or element being referred to must have a particular orientation, be constructed and operated in a particular orientation, and thus, should not be construed as limiting the present invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance.
Finally, it should be noted that: although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art will understand that the following embodiments are merely illustrative of the present invention, and not restrictive, and the scope of the present invention is not limited thereto: any person skilled in the art can modify or easily conceive the technical solutions described in the foregoing embodiments or equivalent substitutes for some technical features within the technical scope of the present disclosure; such modifications, changes or substitutions do not depart from the spirit and scope of the embodiments of the present invention, and they should be construed as being included therein. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.
Claims (19)
1. A method for building a map is characterized in that the method is applied to a server; the method comprises the following steps:
acquiring a plurality of sub-maps of a target area and auxiliary information of each sub-map; wherein each sub-map corresponds to a partial area of the target area; a marker is preset in the partial area; the auxiliary information is used for indicating the position of the marker in the sub-map;
for a plurality of designated sub-maps containing the same marker, determining the relative position relationship among the designated sub-maps based on the position of the same marker in each designated sub-map;
and establishing a map of the target area based on the relative position relationship between the designated sub-maps corresponding to each marker and the plurality of sub-maps.
2. The method of claim 1, wherein the assistance information comprises: pose data of markers in the sub-map relative to the sub-map; wherein the pose data comprises: under a coordinate system corresponding to the sub-map, position data and angle data of the marker are obtained;
the step of determining the relative position relationship between a plurality of designated sub-maps based on the position of the same marker in each of the plurality of designated sub-maps for the plurality of designated sub-maps containing the same marker comprises:
for two designated sub-maps containing the same marker, the following operations are executed:
determining first pose data of the first sub-map relative to a second sub-map of the two designated sub-maps based on the pose data of the same marker relative to the first sub-map of the two designated sub-maps and the pose data of the same marker relative to the second sub-map of the two designated sub-maps;
and determining the first posture data of the first sub-map relative to the second sub-map as the relative position relationship between the two appointed sub-maps.
3. The method of claim 2, wherein the step of determining the first pose data of the first sub-map relative to the second sub-map as a relative positional relationship between the two designated sub-maps comprises:
if the first sub-map and the second sub-map contain the same markers and the same markers are multiple, acquiring the first attitude data corresponding to each same marker; wherein the same marker is a marker that appears in both the first sub-map and the second sub-map;
determining final first position data based on a plurality of the first position data; and determining the final first posture data as the relative position relation between the two appointed sub-maps.
4. The method according to any one of claims 1 to 3, wherein the step of creating a map of the target area based on the relative positional relationship between the designated sub-maps corresponding to each marker and the plurality of sub-maps comprises:
determining a reference sub-map from the plurality of sub-maps, and determining the coordinate origin of the reference sub-map as a reference coordinate origin;
for each sub-map except the reference sub-map in the sub-maps, converting the coordinate origin of the current sub-map into the reference coordinate origin according to the relative position relationship between the current sub-map and the reference sub-map to obtain the map of the target area; wherein the map of the target area comprises: and the plurality of sub-maps take the reference coordinate origin as the coordinate origin.
5. The method of claim 4, further comprising:
determining at least one intermediate sub-map from the plurality of sub-maps if the current sub-map and the reference sub-map do not include the same marker; wherein the at least one intermediate sub-map has the same marker as the current sub-map and the at least one intermediate sub-map has the same marker as the reference sub-map;
and determining the relative position relationship between the current sub-map and the reference sub-map based on the relative position relationship between the current sub-map and the at least one intermediate sub-map and the relative position relationship between the reference sub-map and the at least one intermediate sub-map.
6. The method of any one of claims 1-5, wherein the marker comprises a barcode and/or a two-dimensional code.
7. The method of claim 6, wherein if the marker comprises a barcode, the barcode comprises a plurality of barcodes; a first designated barcode of the plurality of barcodes is used to indicate a location of the barcode; a second designated barcode of the plurality of barcodes is used to indicate a code identification of the barcode.
8. The method according to any one of claims 1 to 7, wherein the step of obtaining a plurality of sub-maps of the target area and auxiliary information of each sub-map comprises: receiving a plurality of sub-maps of the target area and auxiliary information of each sub-map uploaded by the robot;
the method further comprises the following steps:
storing the auxiliary information of each sub map into a preset information queue;
traversing the information queue, taking each piece of auxiliary information in the information queue as target information one by one, and executing the following operations aiming at the target information:
inquiring whether first auxiliary information containing the same marker as the target information exists in the auxiliary information except the target information in the information queue;
and if the first auxiliary information exists, determining the sub-map corresponding to the first auxiliary information and the sub-map corresponding to the target information as the plurality of designated sub-maps containing the same marker.
9. The method according to any one of claims 1 to 8, wherein the step of obtaining a plurality of sub-maps of the target area and auxiliary information of each sub-map comprises:
collecting the sub-maps through a robot, and acquiring auxiliary information of each sub-map; the auxiliary information includes: pose data of markers in the sub-map relative to the sub-map; wherein the pose data comprises: and under the coordinate system corresponding to the sub-map, the position data and the angle data of the marker.
10. A method of building a map, the method being applied to a robot, the method comprising:
scanning a target area to obtain a plurality of sub-maps of the target area and auxiliary information of each sub-map; wherein each sub-map corresponds to a partial area of the target area; a marker is preset in the partial area; the auxiliary information is used for indicating the position of the marker in the sub-map;
uploading the auxiliary information of the plurality of sub-maps of the target area and each sub-map to a server, wherein the auxiliary information of the plurality of sub-maps of the target area and each sub-map is used for determining a map corresponding to the target area.
11. The method of claim 1, wherein the step of scanning a target area to obtain a plurality of sub-maps of the target area and auxiliary information of each sub-map comprises:
collecting the sub-maps and determining auxiliary information of each sub-map; the auxiliary information includes: pose data of markers in the sub-map relative to the sub-map; wherein the pose data comprises: and under the coordinate system corresponding to the sub-map, the position data and the angle data of the marker.
12. The method of claim 11, wherein the step of determining the supplementary information of each sub-map comprises:
for each of the sub-maps, performing the following operations:
determining second pose data of the robot relative to markers in the sub-map, and third pose data of the robot relative to the sub-map; wherein the second pose data comprises: position data and angle data of the robot in a coordinate system established with the marker as an origin; the third posture data includes: under the coordinate system corresponding to the sub-map, the position data and the angle data of the robot are obtained;
and determining the pose data of the marker in the sub-map relative to the sub-map according to the second pose data and the third pose data.
13. The method of claim 12, wherein the step of determining second pose data for the robot relative to markers in the sub-map comprises:
obtaining fourth pose data of a sensor on the robot relative to a marker in the sub-map; wherein the fourth pose data comprises: position data and angle data of the sensor in a coordinate system established with the marker as an origin;
determining second pose data of the robot relative to markers in the sub-map based on the fourth pose data and fifth pose data of the sensor relative to the robot; wherein the fifth pose data comprises: position data and angle data of the sensor in a coordinate system established with the robot as an origin.
14. The method according to any one of claims 11 to 13, wherein the supplementary information of each sub-map is obtained by:
for each marker in each sub-map, acquiring a plurality of initial pose data of the marker relative to the sub-map, wherein the initial pose data are acquired for a plurality of times, and determining the pose data of the marker relative to the sub-map based on the initial pose data.
15. The method according to any of claims 10-14, wherein the auxiliary information is used to build a large scene map of the target area.
16. The device for establishing the map is characterized in that the device is arranged on a server; the device comprises:
the information acquisition module is used for acquiring a plurality of sub-maps of a target area and auxiliary information of each sub-map; wherein each sub-map corresponds to a partial area of the target area; a marker is preset in the partial area; the auxiliary information is used for indicating the position of the marker in the sub-map;
the system comprises a relation determining module, a judging module and a judging module, wherein the relation determining module is used for determining the relative position relation among a plurality of designated sub-maps based on the position of each designated sub-map in the plurality of designated sub-maps of the same marker aiming at the plurality of designated sub-maps containing the same marker;
and the map establishing module is used for establishing the map of the target area based on the relative position relation between the appointed sub-maps corresponding to each marker and the plurality of sub-maps.
17. An apparatus for creating a map, the apparatus being provided to a robot, the apparatus comprising:
the scanning module is used for scanning a target area to obtain a plurality of sub-maps of the target area and auxiliary information of each sub-map; wherein each sub-map corresponds to a partial area of the target area; a marker is preset in the partial area; the auxiliary information is used for indicating the position of the marker in the sub-map;
and the uploading module is used for uploading the auxiliary information of the plurality of sub-maps of the target area and each sub-map to a server, and the auxiliary information of the plurality of sub-maps of the target area and each sub-map is used for determining the map of the target area.
18. An electronic system, characterized in that the electronic system comprises: a processing device and a storage device;
the storage means has stored thereon a computer program which, when executed by the processing device, performs a method of building a map as claimed in any one of claims 1 to 15.
19. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processing device, carries out the steps of the method of building a map according to any one of claims 1 to 15.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011643740.9A CN112685527A (en) | 2020-12-31 | 2020-12-31 | Method, device and electronic system for establishing map |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011643740.9A CN112685527A (en) | 2020-12-31 | 2020-12-31 | Method, device and electronic system for establishing map |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112685527A true CN112685527A (en) | 2021-04-20 |
Family
ID=75456888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011643740.9A Pending CN112685527A (en) | 2020-12-31 | 2020-12-31 | Method, device and electronic system for establishing map |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685527A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113387099A (en) * | 2021-06-30 | 2021-09-14 | 深圳市海柔创新科技有限公司 | Map construction method, map construction device, map construction equipment, warehousing system and storage medium |
CN118095809A (en) * | 2024-04-28 | 2024-05-28 | 炬星科技(深圳)有限公司 | Robot multitasking method and device and robot |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140074393A1 (en) * | 2011-03-03 | 2014-03-13 | Kabushiki Kaisha Toyota Chuo Kenkyusho | Local map generating device, local map generating system, global map generating device, global map generating system, and program |
US9465129B1 (en) * | 2009-03-06 | 2016-10-11 | See Scan, Inc. | Image-based mapping locating system |
CN107144285A (en) * | 2017-05-08 | 2017-09-08 | 深圳地平线机器人科技有限公司 | Posture information determines method, device and movable equipment |
CN108550318A (en) * | 2018-03-12 | 2018-09-18 | 浙江大华技术股份有限公司 | A kind of method and device of structure map |
CN109725327A (en) * | 2019-03-07 | 2019-05-07 | 山东大学 | A kind of method and system of multimachine building map |
CN109827595A (en) * | 2019-03-22 | 2019-05-31 | 京东方科技集团股份有限公司 | Indoor inertial navigator direction calibration method, indoor navigation device and electronic equipment |
US20190278288A1 (en) * | 2018-03-08 | 2019-09-12 | Ubtech Robotics Corp | Simultaneous localization and mapping methods of mobile robot in motion area |
CN111427360A (en) * | 2020-04-20 | 2020-07-17 | 珠海市一微半导体有限公司 | Map construction method based on landmark positioning, robot and robot navigation system |
WO2020156923A2 (en) * | 2019-01-30 | 2020-08-06 | Harman Becker Automotive Systems Gmbh | Map and method for creating a map |
-
2020
- 2020-12-31 CN CN202011643740.9A patent/CN112685527A/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9465129B1 (en) * | 2009-03-06 | 2016-10-11 | See Scan, Inc. | Image-based mapping locating system |
US20140074393A1 (en) * | 2011-03-03 | 2014-03-13 | Kabushiki Kaisha Toyota Chuo Kenkyusho | Local map generating device, local map generating system, global map generating device, global map generating system, and program |
CN107144285A (en) * | 2017-05-08 | 2017-09-08 | 深圳地平线机器人科技有限公司 | Posture information determines method, device and movable equipment |
US20190278288A1 (en) * | 2018-03-08 | 2019-09-12 | Ubtech Robotics Corp | Simultaneous localization and mapping methods of mobile robot in motion area |
CN110243360A (en) * | 2018-03-08 | 2019-09-17 | 深圳市优必选科技有限公司 | Method for constructing and positioning map of robot in motion area |
CN108550318A (en) * | 2018-03-12 | 2018-09-18 | 浙江大华技术股份有限公司 | A kind of method and device of structure map |
WO2020156923A2 (en) * | 2019-01-30 | 2020-08-06 | Harman Becker Automotive Systems Gmbh | Map and method for creating a map |
CN109725327A (en) * | 2019-03-07 | 2019-05-07 | 山东大学 | A kind of method and system of multimachine building map |
CN109827595A (en) * | 2019-03-22 | 2019-05-31 | 京东方科技集团股份有限公司 | Indoor inertial navigator direction calibration method, indoor navigation device and electronic equipment |
CN111427360A (en) * | 2020-04-20 | 2020-07-17 | 珠海市一微半导体有限公司 | Map construction method based on landmark positioning, robot and robot navigation system |
Non-Patent Citations (6)
Title |
---|
SHUANGQUAN HAN: "Dynamic Scene Semantics SLAM Based on Semantic Segmentation", IEEE ACCESS * |
冉腾;袁亮;吴金强;罗高;: "人工路标辅助的室内移动机器人SLAM", 机械设计与制造, no. 07 * |
周风余: "基于路标与云架构的多机器人建图及融合方法", 华中科技大学学报(自然科学版) * |
王巍;浦云明;李旺;: "一种基于CI因子图的多机器人2D地图融合算法", 机器人, no. 06 * |
石守东;徐德民;: "图形相似性匹配在多机器人地图中的应用", 计算机工程与应用, no. 18 * |
苑晶;黄亚楼;陶通;习白羽;: "基于局部子地图方法的多机器人主动同时定位与地图创建", 机器人, no. 02 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113387099A (en) * | 2021-06-30 | 2021-09-14 | 深圳市海柔创新科技有限公司 | Map construction method, map construction device, map construction equipment, warehousing system and storage medium |
WO2023274177A1 (en) * | 2021-06-30 | 2023-01-05 | 深圳市海柔创新科技有限公司 | Map construction method and apparatus, device, warehousing system, and storage medium |
CN118095809A (en) * | 2024-04-28 | 2024-05-28 | 炬星科技(深圳)有限公司 | Robot multitasking method and device and robot |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110568447B (en) | Visual positioning method, device and computer readable medium | |
Wang et al. | Vision-based framework for automatic progress monitoring of precast walls by using surveillance videos during the construction phase | |
JP6464337B2 (en) | Traffic camera calibration update using scene analysis | |
CN106959691B (en) | Mobile electronic equipment and instant positioning and map construction method | |
CN109271861B (en) | Multi-scale fusion point cloud traffic signboard automatic extraction method | |
CN110926330B (en) | Image processing apparatus, image processing method, and program | |
CN110470333B (en) | Calibration method and device of sensor parameters, storage medium and electronic device | |
CN111582022B (en) | Fusion method and system of mobile video and geographic scene and electronic equipment | |
CN114119864A (en) | Positioning method and device based on three-dimensional reconstruction and point cloud matching | |
CN112685527A (en) | Method, device and electronic system for establishing map | |
CN109726257B (en) | Index map construction method, autonomous navigation method, device and electronic equipment | |
CN112200911A (en) | Region overlapping type three-dimensional map construction method and device combined with markers | |
CN107895344B (en) | Video splicing device and method | |
KR20230003803A (en) | Automatic calibration through vector matching of the LiDAR coordinate system and the camera coordinate system | |
US20220148216A1 (en) | Position coordinate derivation device, position coordinate derivation method, position coordinate derivation program, and system | |
KR20130133596A (en) | Method and apparatus for measuring slope of poles | |
WO2022002149A1 (en) | Initial localization method, visual navigation device, and warehousing system | |
CN114821497A (en) | Method, device and equipment for determining position of target object and storage medium | |
JP3919722B2 (en) | Skin shape measuring method and skin shape measuring apparatus | |
CN115861443A (en) | Multi-camera internal reference calibration method and device, electronic equipment and storage medium | |
CN114909999A (en) | Three-dimensional measurement system and method based on structured light | |
CN116266402A (en) | Automatic object labeling method and device, electronic equipment and storage medium | |
CN112435291A (en) | Multi-target volume measurement method and device and storage medium | |
KR20210112551A (en) | Construction management system and method using mobile electric device | |
CN110686687A (en) | Method for constructing map by visual robot, robot and chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |