CN108154209B - Two-dimensional code generation and identification method and device for mobile robot positioning - Google Patents

Two-dimensional code generation and identification method and device for mobile robot positioning Download PDF

Info

Publication number
CN108154209B
CN108154209B CN201611111136.5A CN201611111136A CN108154209B CN 108154209 B CN108154209 B CN 108154209B CN 201611111136 A CN201611111136 A CN 201611111136A CN 108154209 B CN108154209 B CN 108154209B
Authority
CN
China
Prior art keywords
image
dimensional code
solid
basic
straight edge
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.)
Active
Application number
CN201611111136.5A
Other languages
Chinese (zh)
Other versions
CN108154209A (en
Inventor
缪松华
吴永海
张文聪
贾永华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikrobot Co Ltd
Original Assignee
Hangzhou Hikrobot Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikrobot Technology Co Ltd filed Critical Hangzhou Hikrobot Technology Co Ltd
Priority to CN201611111136.5A priority Critical patent/CN108154209B/en
Publication of CN108154209A publication Critical patent/CN108154209A/en
Application granted granted Critical
Publication of CN108154209B publication Critical patent/CN108154209B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06056Constructional details the marking comprising a further embedded marking, e.g. a 1D bar code with the black bars containing a smaller sized coding

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

The embodiment of the invention discloses a method and a device for generating and identifying a two-dimensional code for positioning a mobile robot, wherein the method comprises the following steps: obtaining position information of the position of a preset two-dimensional code; generating a two-dimensional code matrix point image according to the position information; combining the two-dimensional code matrix point image and a solid image which is preset and used for determining the main direction of the two-dimensional code and has a preset shape into a basic two-dimensional code image; and generating a two-dimensional code based on the basic two-dimensional code image. Therefore, the image used for determining the main direction of the two-dimensional code is a solid image with a preset shape, so that the image is easy to identify and not easy to be stained, and the generated two-dimensional code has strong anti-interference capability.

Description

Two-dimensional code generation and identification method and device for mobile robot positioning
Technical Field
The invention relates to the technical field of machine vision, in particular to a method and a device for generating and identifying a two-dimensional code for positioning a mobile robot.
Background
The two-dimensional code has the characteristics of large information capacity, strong error correction capability, suitability for CCD (Charge Coupled Device, CCD image sensor) camera identification and the like, and has been widely applied in the fields of commercial circulation, logistics, production automation management and the like. These features of two-dimensional codes make it well suited as an artificial marker in mobile robotic applications.
In the prior art, a two-dimensional code for positioning a mobile robot appears, wherein a main direction of the two-dimensional code and position information of a position where the two-dimensional code is located are associated to the two-dimensional code, and after the mobile robot scans the two-dimensional code through an image acquisition device, the main direction of the two-dimensional code and the position information of the position where the two-dimensional code is located can be utilized to obtain the orientation and the position of the mobile robot, so that the autonomous positioning of the mobile robot is realized. The acquisition of the main direction of the two-dimensional code is important for positioning of the mobile robot, and the deviation of the small angle can cause the mobile robot to move more and more.
In the prior art, a circular positioning module for determining the main direction of the two-dimensional code is only a white circle with a large diameter, so that the two-dimensional code is very easy to be stained and has weak anti-interference capability, and further the main direction of the mobile robot is very easy to be identified wrongly. Therefore, in order to avoid the two-dimensional code being stained, in practical applications, the two-dimensional code is placed on a roof and can be recognized only by a mobile robot having a camera on the top, which has limitations.
Then, generating a two-dimensional code with strong anti-interference capability becomes an urgent problem to be solved.
Disclosure of Invention
The embodiment of the invention discloses a method and a device for generating and identifying a two-dimensional code for positioning a mobile robot, which are used for generating the two-dimensional code with stronger anti-interference capability. The specific scheme is as follows:
in one aspect, an embodiment of the present invention provides a method for generating a two-dimensional code for positioning a mobile robot, where the method includes:
obtaining position information of the position of a preset two-dimensional code;
generating a two-dimensional code matrix point image according to the position information;
combining the two-dimensional code matrix point image and a solid image preset for determining the main direction of the two-dimensional code into a basic two-dimensional code image, wherein the solid image has a preset shape;
and generating a two-dimensional code based on the basic two-dimensional code image.
Optionally, the predetermined two-dimensional code is located at a plurality of positions, and the plurality of positions form a predetermined moving path of the mobile robot.
Optionally, the solid image is a solid image having at least one straight edge.
Optionally, the solid image is an "L" shaped solid image;
the step of combining the two-dimensional code matrix point image and a solid image preset for determining the main direction of the two-dimensional code into a basic two-dimensional code image comprises the following steps:
splicing two straight edges in the two-dimension code matrix point image with two straight edges in the L-shaped solid image respectively to form the basic two-dimension code image;
alternatively, the first and second electrodes may be,
the solid image is a solid triangle;
the step of combining the two-dimensional code matrix point image and a solid image preset for determining the main direction of the two-dimensional code into a basic two-dimensional code image comprises the following steps:
splicing one straight edge in the two-dimension code matrix point image with one straight edge in the triangle to form the basic two-dimension code image;
alternatively, the first and second electrodes may be,
the solid image is a solid arch;
the step of combining the two-dimensional code matrix point image and a solid image preset for determining the main direction of the two-dimensional code into a basic two-dimensional code image comprises the following steps:
and splicing one straight edge in the two-dimensional code matrix point image with the arched chord to form the basic two-dimensional code image.
Optionally, the step of generating a two-dimensional code based on the basic two-dimensional code image includes:
embedding the basic two-dimensional code image into a preset annular image, wherein the center of the basic two-dimensional code image is superposed with the center of the preset annular image, and the basic two-dimensional code image is not overlapped with the preset annular image;
and determining the formed graph as the two-dimensional code.
Optionally, the predetermined annular image is a circular ring or an elliptical ring.
Optionally, the two-dimensional code is printed on a rectangular substrate, and the center of the predetermined annular image coincides with the center of the rectangular substrate; the rectangular substrate further comprises datum line segments, each datum line segment corresponds to one of the four edges of the rectangular substrate and is located on a perpendicular bisector of the corresponding edge, and the datum line segments are not overlapped with the two-dimensional code.
Optionally, the rectangular substrate further includes: and the position information character string is not overlapped with the two-dimensional code and is not overlapped with the reference line segment.
On the other hand, an embodiment of the present invention provides a method for identifying a two-dimensional code for positioning a mobile robot, where the method is directed to a two-dimensional code generated by using the above two-dimensional code generation method, and includes:
the mobile robot scans the two-dimensional code to obtain a two-dimensional code image;
identifying a two-dimensional code matrix point image forming a basic two-dimensional code image and a solid image used for determining a main direction of a two-dimensional code from the two-dimensional code image, wherein the solid image has a preset shape;
decoding the two-dimension code matrix point image to obtain the position information of the position of the two-dimension code;
and determining the main direction of the two-dimensional code according to the shape of the solid image and the position relation between the solid image and a world coordinate system.
Optionally, the solid image is an "L" shaped solid image, and two straight edges in the two-dimensional code matrix dot image are respectively spliced with two straight edges in the "L" shaped solid image;
the step of identifying a two-dimensional code matrix dot image forming a basic two-dimensional code image and a solid image for determining a main direction of a two-dimensional code from the two-dimensional code image includes:
performing edge extraction on an image included in the two-dimensional code image, and detecting the L-shaped solid image and the two-dimensional code matrix point image from the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid triangle, and one straight edge in the two-dimensional code matrix point image is spliced with one straight edge in the triangle;
the step of identifying a two-dimensional code matrix dot image forming a basic two-dimensional code image and a solid image for determining a main direction of a two-dimensional code from the two-dimensional code image includes:
performing edge extraction on an image contained in the two-dimensional code image, and detecting the triangle and the two-dimensional code matrix point image from the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid arch, and a straight edge in the two-dimensional code matrix point image is spliced with a chord of the arch;
the step of identifying a two-dimensional code matrix dot image forming a basic two-dimensional code image and a solid image for determining a main direction of a two-dimensional code from the two-dimensional code image includes:
and performing edge extraction on an image contained in the two-dimensional code image, and detecting the arch and the two-dimensional code matrix point image from the basic two-dimensional code image.
Optionally, when the solid image is an "L" shaped solid image, the step of determining the main direction of the two-dimensional code according to the shape of the solid image and the position relationship between the solid image and the world coordinate system includes:
determining a straight edge meeting a preset reference condition in the L-shaped solid image as a reference edge, wherein the preset reference condition is as follows: the reference edge is rotated by 90 degrees anticlockwise, and the other straight edge in the L-shaped solid image can be determined;
respectively determining first angles w of the reference edges corresponding to the X axis based on the world coordinate system1A second angle w corresponding to the other straight edge with the X axis2
Using said w1W to2And a preset angle calculation formula for calculating the main direction of the two-dimensional code, wherein the preset angle calculation formula is as follows:
Figure BDA0001172531900000041
wherein the W represents a main direction of the two-dimensional code;
alternatively, the first and second electrodes may be,
when the solid image is a solid triangle, the step of determining the main direction of the two-dimensional code according to the shape of the solid image and the position relation between the solid image and the world coordinate system includes:
determining a third angle of a target side in the triangle corresponding to the X axis based on the world coordinate system, wherein the target side is a straight side spliced with one straight side in the basic two-dimensional code image;
determining the main direction of the two-dimensional code according to the third angle;
alternatively, the first and second electrodes may be,
when the solid image is a solid arch, the step of determining the main direction of the two-dimensional code according to the shape of the solid image and the position relation between the solid image and the world coordinate system comprises the following steps:
determining a fourth angle of a chord of the arc corresponding to the X axis based on the world coordinate system;
and determining the main direction of the two-dimensional code according to the fourth angle.
Optionally, the basic two-dimensional code image is embedded in a predetermined annular image, wherein the center of the basic two-dimensional code image coincides with the center of the predetermined annular image, and the basic two-dimensional code image is not overlapped with the predetermined annular image;
before the step of identifying, from the two-dimensional code image, a two-dimensional code matrix dot image constituting a basic two-dimensional code image and a solid image for determining a main direction of a two-dimensional code, the method further includes:
detecting a preset annular image in the two-dimensional code image, and determining a region in the preset annular image as a region to be identified;
the step of identifying a two-dimensional code matrix dot image forming a basic two-dimensional code image and a solid image for determining a main direction of a two-dimensional code from the two-dimensional code image includes:
and identifying the two-dimension code matrix point image and the solid image which form the basic two-dimension code image from the area to be identified.
Optionally, the predetermined annular image is a circular ring or an elliptical ring.
Optionally, after the step of obtaining the two-dimensional code, the method further includes:
carrying out image distortion correction on the obtained two-dimensional code image;
carrying out image binarization processing on the corrected image;
the step of identifying a two-dimensional code matrix dot image forming a basic two-dimensional code image and a solid image for determining a main direction of a two-dimensional code from the two-dimensional code image includes:
and identifying the two-dimension code matrix dot image and the solid image which form the basic two-dimension code image from the image after the binarization processing.
In another aspect, an embodiment of the present invention provides an apparatus for generating a two-dimensional code for positioning a mobile robot, where the apparatus includes:
the first obtaining module is used for obtaining the position information of the position of the preset two-dimensional code;
the first generating module is used for generating a two-dimensional code matrix point image aiming at the position information;
the combination module is used for combining the two-dimension code matrix point image and a solid image which is preset for determining the main direction of the two-dimension code into a basic two-dimension code image, wherein the solid image has a preset shape;
and the second generation module is used for generating the two-dimensional code based on the basic two-dimensional code image.
Optionally, the predetermined two-dimensional code is located at a plurality of positions, and the plurality of positions form a predetermined moving path of the mobile robot.
Optionally, the solid image is a solid image having at least one straight edge.
Optionally, the solid image is an "L" shaped solid image;
the combination module is specifically used for splicing two straight edges in the two-dimensional code matrix point image with two straight edges in the L-shaped solid image respectively to form the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid triangle;
the combination module is specifically used for splicing one straight edge in the two-dimensional code matrix point image with one straight edge in the triangle to form the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid arch;
the combination module is specifically used for splicing one straight edge in the two-dimensional code matrix point image and the arched chord to form the basic two-dimensional code image.
Optionally, the second generating module includes an embedded unit and a determining unit;
the embedding unit is used for embedding the basic two-dimensional code image into a preset annular image, wherein the center of the basic two-dimensional code image is superposed with the center of the preset annular image, and the basic two-dimensional code image is not superposed with the preset annular image;
and the determining unit is used for determining the formed graph as the two-dimensional code.
Optionally, the two-dimensional code is printed on a rectangular substrate, and the center of the predetermined annular image coincides with the center of the rectangular substrate; the rectangular substrate further comprises datum line segments, each datum line segment corresponds to one of the four edges of the rectangular substrate and is located on a perpendicular bisector of the corresponding edge, and the datum line segments are not overlapped with the two-dimensional code.
Optionally, the rectangular substrate further includes: and the position information character string is not overlapped with the two-dimensional code and is not overlapped with the reference line segment.
In another aspect, an embodiment of the present invention provides an apparatus for recognizing a two-dimensional code for positioning a mobile robot, where the apparatus includes, for a two-dimensional code generated by using the above two-dimensional code generating apparatus:
the second obtaining module is used for scanning the two-dimension code by the mobile robot to obtain a two-dimension code image;
the identification module is used for identifying a two-dimensional code matrix point image forming a basic two-dimensional code image and a solid image used for determining the main direction of a two-dimensional code from the two-dimensional code image, wherein the solid image has a preset shape;
the third obtaining module is used for decoding the two-dimensional code matrix point image to obtain the position information of the position of the two-dimensional code;
and the determining module is used for determining the main direction of the two-dimensional code according to the shape of the solid image and the position relation between the solid image and the world coordinate system.
Optionally, the solid image is an "L" shaped solid image, and two straight edges in the two-dimensional code matrix dot image are respectively spliced with two straight edges in the "L" shaped solid image;
the identification module is specifically configured to perform edge extraction on an image included in the two-dimensional code image, and detect the "L" -shaped solid image and the two-dimensional code matrix point image from the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid triangle, and one straight edge in the two-dimensional code matrix point image is spliced with one straight edge in the triangle;
the identification module is specifically configured to perform edge extraction on an image included in the two-dimensional code image, and detect the triangle and the two-dimensional code matrix point image from the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid arch, and a straight edge in the two-dimensional code matrix point image is spliced with a chord of the arch;
the identification module is specifically configured to perform edge extraction on an image included in the two-dimensional code image, and detect the bow shape and the two-dimensional code matrix dot image from the basic two-dimensional code image.
Optionally, the determining module is specifically configured to, when the solid image is an "L" type solid image, determine, as a reference edge, a straight edge of the "L" type solid image that meets a preset reference condition, where the preset reference condition is: the reference edge is rotated by 90 degrees anticlockwise, and the other straight edge in the L-shaped solid image can be determined;
respectively determining first angles w of the reference edges corresponding to the X axis based on the world coordinate system1A second angle w corresponding to the other straight edge with the X axis2
Using said w1W to2And a preset angle calculation formula for calculating the main direction of the two-dimensional code, wherein the preset angle calculation formula is as follows:
Figure BDA0001172531900000081
wherein the W represents a main direction of the two-dimensional code;
alternatively, the first and second electrodes may be,
the determining module is specifically configured to determine, when the solid image is a solid triangle, a third angle of a target edge in the triangle corresponding to an X axis based on the world coordinate system, where the target edge is a straight edge spliced with one straight edge in the basic two-dimensional code image;
determining the main direction of the two-dimensional code according to the third angle;
alternatively, the first and second electrodes may be,
the determining module is specifically configured to determine, when the solid image is a solid arc, a fourth angle of a chord of the arc corresponding to the X axis based on the world coordinate system;
and determining the main direction of the two-dimensional code according to the fourth angle.
Optionally, the basic two-dimensional code image is embedded in a predetermined annular image, wherein the center of the basic two-dimensional code image coincides with the center of the predetermined annular image, and the basic two-dimensional code image is not overlapped with the predetermined annular image;
the device also comprises a detection module;
the detection module is used for detecting a preset annular image in the two-dimensional code image and determining an area in the preset annular image as an area to be identified before the step of identifying a two-dimensional code matrix dot image forming a basic two-dimensional code image and a solid image used for determining the main direction of the two-dimensional code from the two-dimensional code image;
the identification module is specifically configured to identify the two-dimensional code matrix dot image and the solid image which form the basic two-dimensional code image from the region to be identified.
Optionally, the predetermined annular image is a circular ring or an elliptical ring.
Optionally, the apparatus further comprises: a correction module and a processing module;
the correction module is used for carrying out image distortion correction on the obtained two-dimensional code image;
the processing module is used for carrying out image binarization processing on the corrected image;
the identification module is specifically configured to identify the two-dimensional code matrix dot image and the solid image which form the basic two-dimensional code image from the binarized image.
In the scheme, position information of the position of a preset two-dimensional code is obtained; generating a two-dimensional code matrix point image according to the position information; combining the two-dimensional code matrix point image and a solid image which is preset and used for determining the main direction of the two-dimensional code and has a preset shape into a basic two-dimensional code image; and generating a two-dimensional code based on the basic two-dimensional code image. Therefore, the image used for determining the main direction of the two-dimensional code is a solid image, is easy to identify and is not easy to be stained, and the generated two-dimensional code has strong anti-interference capability. Of course, it is not necessary for any product or method of practicing the invention to achieve all of the above-described advantages at the same time.
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, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic flowchart of a method for generating a two-dimensional code for positioning a mobile robot according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a two-dimensional code generated by applying an embodiment of the present invention;
fig. 3 is a schematic flowchart of a two-dimensional code recognition method for mobile robot positioning according to an embodiment of the present invention;
fig. 4 is another schematic flowchart of a method for identifying a two-dimensional code for positioning a mobile robot according to an embodiment of the present invention;
fig. 5 is a schematic diagram of a two-dimensional code image obtained by a mobile robot;
fig. 6 is a schematic structural diagram of a two-dimensional code generation apparatus for mobile robot positioning according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of an identification apparatus for a two-dimensional code for mobile robot positioning according to an embodiment of the present invention;
fig. 8 is another schematic structural diagram of an apparatus for recognizing a two-dimensional code for positioning a mobile robot according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. 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.
The embodiment of the invention provides a method and a device for generating and identifying a two-dimensional code for positioning a mobile robot, and aims to generate the two-dimensional code with stronger anti-interference capability.
First, generation of a two-dimensional code for positioning a mobile robot according to an embodiment of the present invention is described below.
As shown in fig. 1, an embodiment of the present invention provides a generation of a two-dimensional code for mobile robot positioning, which may include the following steps:
s101: obtaining position information of the position of a preset two-dimensional code;
the position information of the position of the predetermined two-dimensional code can be obtained by the prior art, wherein the position information can be latitude and longitude information of the position of the two-dimensional code, or artificially specified position identification information. The position information of the position where the two-dimensional code is located may be input by a user. The position information may include information such as a movement distance, for example, 2 meters in a certain direction specified by the mobile robot from the main direction of the two-dimensional code; or the distance information of the position of the current two-dimensional code and the position of the next two-dimensional code is contained.
It is understood that the predetermined two-dimensional code is located at a plurality of positions, and the plurality of positions constitute a predetermined moving path of the mobile robot.
S102: generating a two-dimensional code matrix point image according to the position information;
according to the prior art, a two-dimensional code matrix dot image is generated for the position information, wherein the two-dimensional code matrix dot image may be a black and white image in which a certain specific geometric figure is regularly distributed on a plane (in a two-dimensional direction) and is used for recording the position information. Any implementation manner capable of generating a two-dimensional code matrix dot image can be applied to the embodiment of the invention.
S103: combining the two-dimensional code matrix point image and a solid image preset for determining the main direction of the two-dimensional code into a basic two-dimensional code image, wherein the solid image has a preset shape;
the solid image has a predetermined shape for accurate recognition in a subsequent recognition process. In order to better improve the anti-interference capability of the subsequently generated two-dimensional code, the solid image with the predetermined shape may have a certain size. The certain size may be set by a user, and the predetermined shape may also be set by a user.
In a specific implementation manner, the solid image can be a solid image with at least one straight edge, wherein the solid image and the two-dimensional code matrix dot image do not overlap in order to guarantee the accuracy of the information in the two-dimensional code. The straight edge in the solid image may be spliced with a straight edge in the two-dimensional code matrix dot image, or may be in a parallel state with a straight edge in the two-dimensional code matrix dot image, and a gap may exist between the straight edge and a straight edge in the two-dimensional code matrix dot image, and a width of the gap may be set by a user. The embodiment of the present invention does not limit the specific shape of the solid image.
In one particular implementation, the solid image may be an "L" shaped solid image, as shown as "2" in fig. 2; the step of combining the two-dimensional code matrix point image and a solid image preset for determining the main direction of the two-dimensional code into a basic two-dimensional code image may include:
splicing two straight edges in the two-dimension code matrix point image with two straight edges in the L-shaped solid image respectively to form a basic two-dimension code image;
alternatively, the first and second electrodes may be,
the solid image may be a solid triangle;
the step of combining the two-dimensional code matrix point image and a solid image preset for determining the main direction of the two-dimensional code into a basic two-dimensional code image may include:
splicing one straight edge in the two-dimensional code matrix point image with one straight edge in the triangle to form a basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image may be a solid arch;
the step of combining the two-dimensional code matrix point image and a solid image preset for determining the main direction of the two-dimensional code into a basic two-dimensional code image may include:
and splicing a straight edge in the two-dimensional code matrix point image and the arched chord to form a basic two-dimensional code image.
In general, a rectangular two-dimensional code matrix dot image can be generated by a conventional two-dimensional code matrix dot image generating method. Specifically, two straight edges in the rectangular two-dimensional code matrix dot image may be respectively spliced with two straight edges in the "L" shaped solid image, so that the two-dimensional code matrix dot image is embedded in the "L" shaped solid image. The length of each straight edge of the L-shaped solid image can be equal to the length of the straight edge for splicing in the corresponding two-dimensional code matrix point image, each straight edge of the L-shaped solid image has a certain width, and when the unit point of the two-dimensional code matrix point image is rectangular, the width is not less than the length of the long edge or the short edge of the single point in the two-dimensional code matrix point image and is not more than the length of the side of the two-dimensional code matrix point image generally. When the unit point of the two-dimensional code matrix point image is circular, the width is not less than the length of the diameter of the unit point in the two-dimensional code matrix point image and is generally not more than the side length of the two-dimensional code matrix point image. In another implementation manner, the two-dimensional code matrix dot image may also be stitched to the outer side of the "L" shaped solid image, that is, a straight edge in the two-dimensional code matrix dot image is stitched to a straight edge in the "L" shaped solid image. Subsequently, in the process of identifying the main direction of the two-dimensional code, the 90-degree included angle of the solid image in the shape of "L" can be used for determining the main direction of the two-dimensional code. Wherein "6" as shown in fig. 2 is a schematic view of a unit dot.
In one implementation, the solid image is a solid triangle; it should be noted that one straight edge in the two-dimensional code matrix dot image may be spliced with any one straight edge in the triangle, where the straight edge of the triangle spliced with one straight edge in the two-dimensional code matrix dot image may be equal to the length of the straight edge spliced with the two-dimensional code matrix dot image. In order to better improve the anti-interference capability of a subsequently generated two-dimensional code, when a unit point of a two-dimensional code matrix point image is a rectangle, the height of the straight edge in the triangle relative to splicing is generally not less than the length of the long edge or the short edge of the unit point in the two-dimensional code matrix point image, and generally not more than the length of the side of the two-dimensional code matrix point image. When the unit point of the two-dimensional code matrix point image is circular, the height of the straight edge relative to the splicing in the triangle is generally not less than the length of the diameter of the unit point in the two-dimensional code matrix point image and generally not more than the side length of the two-dimensional code matrix point image.
In one implementation, the solid image is a solid arch, and a chord of the arch that is spliced with one straight edge of the two-dimensional code matrix point image may be equal to the length of the straight edge that is spliced with the two-dimensional code matrix point image. In order to better improve the anti-interference capability of a subsequently generated two-dimensional code, when a unit point of the two-dimensional code matrix point image is a rectangle, the rise of the arc (i.e. the height of the arc) is generally not lower than the length of the long edge or the short edge of the unit point in the two-dimensional code matrix point image, and generally not higher than the side length of the two-dimensional code matrix point image. When the unit point of the two-dimensional code matrix point image is circular, the rise of the arch is generally not lower than the length of the diameter of the unit point in the two-dimensional code matrix point image and generally not higher than the side length of the two-dimensional code matrix point image.
S104: and generating a two-dimensional code based on the basic two-dimensional code image.
It is understood that the formed basic two-dimensional code image can be directly used as the final two-dimensional code. Wherein the solid image of the predetermined shape can be used for positioning of the two-dimensional code. In addition, in a specific implementation manner, the step of generating a two-dimensional code based on the basic two-dimensional code image may include:
embedding the basic two-dimensional code image into a preset annular image, wherein the center of the basic two-dimensional code image is superposed with the center of the preset annular image, and the basic two-dimensional code image is not overlapped with the preset annular image;
and determining the formed graph as a two-dimensional code.
In order to avoid affecting the information in the basic two-dimensional code, the basic two-dimensional code image and the predetermined annular image are not overlapped, and a gap exists between the basic two-dimensional code image and the predetermined annular image, and the distance value of the gap does not exceed the width of the predetermined annular image. As shown in fig. 2 as "1", the predetermined ring-shaped image may be used as a positioning image of the two-dimensional code for positioning the area to be identified during the scanning of the two-dimensional code by the mobile robot. When the solid image is of an "L" shape, the width of the predetermined ring image is generally not less than the width of the solid image, and when the solid image is of a solid triangle, the width of the predetermined ring image is generally not less than the length of the shortest height of the triangle, wherein the size and width of the predetermined ring image can be set autonomously by a user.
In one implementation, the predetermined annular image may be a circular ring or an elliptical ring.
The preset annular image which is easy to recognize is used as the positioning image of the two-dimensional code, so that the mobile robot is easy to position in the environment and determine the two-dimensional code which needs to be recognized, the annular image is easier to recognize, a complex recognition algorithm is not needed, and the recognition efficiency of the mobile robot is higher. Furthermore, the preset annular image is used as a positioning image of the two-dimensional code, so that the two-dimensional code has better fault-tolerant capability, and when the annular image is stained, the scanning recognition module of the mobile robot can recognize the area to be recognized by utilizing the bending condition of the annular image.
By applying the embodiment of the invention, the position information of the position of the preset two-dimensional code is obtained; generating a two-dimensional code matrix point image according to the position information; combining the two-dimensional code matrix point image and a solid image which is preset and used for determining the main direction of the two-dimensional code and has a preset shape into a basic two-dimensional code image; and generating a two-dimensional code based on the basic two-dimensional code image. Therefore, the image used for determining the main direction of the two-dimensional code is a solid image, is easy to identify and is not easy to be stained, and the generated two-dimensional code has strong anti-interference capability.
In a specific implementation manner, the two-dimensional code is printed on a rectangular substrate, and the center of the circle of the preset annular image is coincident with the center of the rectangular substrate; the rectangular substrate can further comprise datum line segments, each datum line segment corresponds to one of the four edges of the rectangular substrate and is located on a perpendicular bisector of the corresponding edge, and the datum line segments are not overlapped with the two-dimensional code.
Wherein, this rectangle basement is different with the optical reflectivity of this two-dimensional code, reference line section, and this reference line section is used for subsequent this two-dimensional code of installation (posting), and is concrete, and the workman can be at first confirm the central point of two-dimensional code with the ink line of violently indulging crisscross or laser line when the construction and put forward, then aim at reference line section and ink line or laser line, has guaranteed the precision of posting the two-dimensional code. In one implementation, the substrate may also be in other shapes, such as a circle or a regular polygon or an irregular image, which is all possible, and the shape of the substrate is not limited by the embodiments of the present invention. The reference line segment is shown as "4" in fig. 2. It is possible that each of the baseline segments may or may not intersect the corresponding edge.
When the substrate is circular, the reference line segments are respectively positioned on two mutually perpendicular diameters of the circular substrate. Specifically, each diameter may include two reference line segments, and the two reference line segments are located at two sides of the center of the circle of the circular substrate respectively.
In one implementation, the rectangular substrate may further include: and the position information character string is not overlapped with the two-dimensional code and is not overlapped with the reference line segment.
The position information character string is used in the installation (posting) process of the two-dimensional code, and is used for preventing the situation that the position where the two-dimensional code is installed (posted) is wrong. When the worker is in construction, the two-dimensional codes corresponding to different position information can be directly distinguished through the position information character strings, and the construction worker is prevented from mixing up the two-dimensional codes. The specific position of the position information character string is "5" as shown in fig. 2.
Further, it is also possible that the solid image is not only a solid image having at least one straight edge, but also an arrow image, a circular image, a rectangular image, or the like. When the solid image is the image, the position relationship between the solid image in the basic two-dimensional code image and the two-dimensional code matrix point image and the corresponding relationship between the basic two-dimensional code image and the world coordinate system mentioned later can be combined for determining when the main direction of the two-dimensional code is identified subsequently. In this case, in the basic two-dimensional code image, a gap is present between the solid image and the two-dimensional code matrix dot image.
On the other hand, an embodiment of the present invention provides a method for identifying a two-dimensional code for mobile robot positioning, and as shown in fig. 3, the method may include the following steps for a two-dimensional code generated by using the method for generating a two-dimensional code for mobile robot positioning provided by the embodiment of the present invention:
s301: the mobile robot obtains a two-dimensional code image by scanning the two-dimensional code;
the two-dimensional code generated by the method for generating the two-dimensional code provided by the embodiment of the invention has strong anti-interference capability, and can be pasted on relatively more positions, such as the ground, the wall or the roof. The mobile robot scans the two-dimensional code through the arranged camera, the camera can be arranged at any position of the mobile robot, such as the bottom, the side or the top of the mobile robot, and the like. The mobile robot can scan the two-dimensional code through the prior art to obtain a corresponding two-dimensional code image.
S302: identifying a two-dimensional code matrix point image forming a basic two-dimensional code image and a solid image used for determining a main direction of a two-dimensional code from the two-dimensional code image, wherein the solid image has a predetermined shape;
the solid image is an image having a predetermined shape, and the mobile robot can directly recognize the solid image constituting the basic two-dimensional code image from the two-dimensional code image and can recognize the two-dimensional code matrix dot image constituting the basic two-dimensional code image from the solid image. The identification process may adopt the prior art, and is not described herein.
For the solid image, the solid image may be a solid image with at least one straight edge, and in one implementation, the solid image may be an "L" type solid image, and two straight edges in the two-dimensional code matrix dot image are respectively spliced with two straight edges in the "L" type solid image;
the step of identifying a two-dimensional code matrix dot image constituting a basic two-dimensional code image and a solid image for determining a main direction of a two-dimensional code from the two-dimensional code image may include:
performing edge extraction on an image contained in the two-dimensional code image, and detecting an L-shaped solid image and a two-dimensional code matrix point image from the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid triangle, and one straight edge in the two-dimensional code matrix point image is spliced with one straight edge in the triangle;
the step of identifying a two-dimensional code matrix dot image constituting a basic two-dimensional code image and a solid image for determining a main direction of a two-dimensional code from the two-dimensional code image may include:
performing edge extraction on an image contained in the two-dimensional code image, and detecting the triangle and the two-dimensional code matrix point image from the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid arch, and a straight edge in the two-dimensional code matrix point image is spliced with a chord of the arch;
the step of identifying a two-dimensional code matrix dot image constituting a basic two-dimensional code image and a solid image for determining a main direction of a two-dimensional code from the two-dimensional code image may include:
and performing edge extraction on an image contained in the two-dimensional code image, and detecting the arch and the two-dimensional code matrix dot image from the basic two-dimensional code image.
The edge of the two-dimensional code image can be extracted by the prior art, an L-shaped solid image, a triangle or a bow shape can be detected, and further, a two-dimensional code matrix point image can be detected according to the detected L-shaped solid image, triangle or bow shape. An "L" type image may exist in the two-dimensional code matrix dot image, and a real "L" type solid image can be determined according to the size of the "L" type image.
S303: decoding the two-dimensional code matrix point image to obtain the position information of the position of the two-dimensional code;
it can be understood that the two-dimensional code matrix dot image is generated according to the prior art, and when decoding is performed, a decoding manner corresponding to the generation manner may be adopted for decoding, where the decoding manner is the prior art and is not described herein again. And decoding the two-dimensional code matrix point image to obtain code word information, wherein the code word information is position information corresponding to the position of the two-dimensional code.
S304: and determining the main direction of the two-dimensional code according to the shape of the solid image and the position relation between the solid image and the world coordinate system.
For the solid image, the solid image may be a solid image having at least one straight edge, when a right angle exists in the solid image having at least one straight edge, the main direction of the two-dimensional code may be determined by using the right angle, and when a right angle does not exist in the solid image having at least one straight edge, the main direction of the two-dimensional code may be determined by using a positional relationship between the at least one straight edge and the world coordinate system.
In one implementation, when the solid image is an "L" shaped solid image, the step of determining the main direction of the two-dimensional code according to the shape of the solid image and the position relationship between the solid image and the world coordinate system may include:
determining a straight edge meeting a preset reference condition in the L-shaped solid image as a reference edge, wherein the preset reference condition is as follows: the reference edge is rotated 90 degrees anticlockwise, and the other straight edge in the L-shaped solid image can be determined;
respectively determining first angles w of the reference edges corresponding to the X axis based on the world coordinate system1A second angle w corresponding to the other straight edge with the X axis2
Using w1、w2And a preset angle calculation formula for calculating the main direction of the two-dimensional code, wherein the preset angle calculation formula can be as follows:
Figure BDA0001172531900000171
wherein W represents a main direction of the two-dimensional code;
alternatively, the first and second electrodes may be,
when the solid image is a solid triangle, the step of determining the main direction of the two-dimensional code according to the shape of the solid image and the position relationship between the solid image and the world coordinate system may include:
determining a third angle of a target side in the triangle corresponding to the X axis based on a world coordinate system, wherein the target side is a straight side spliced with a straight side in the basic two-dimensional code image;
determining the main direction of the two-dimensional code according to the third angle;
alternatively, the first and second electrodes may be,
when the solid image is a solid arch, the step of determining the main direction of the two-dimensional code according to the shape of the solid image and the position relation between the solid image and the world coordinate system comprises the following steps:
determining a fourth angle of the arched chord corresponding to the X axis based on the world coordinate system;
and determining the main direction of the two-dimensional code according to the fourth angle.
In general, the second angle w is determined2Greater than the first angle w1And in the presence of w2-w190 ° is set. It should be emphasized that, in order to better identify the angle between each straight edge of the solid image of the "L" shape and the X-axis of the world coordinate system, it is all right to align the vertex of the solid image of the "L" shape with the center of the world coordinate system, or align the center of the two-dimensional code image with the center of the world coordinate system. Aligning the vertex of the L-shaped solid image with the center of the world coordinate system, and aligning the center of the two-dimensional code image with the center of the world coordinate systemExisting techniques such as translating, rotating, etc. the solid image of the "L" shape may be utilized.
In addition, when determining the main direction of the two-dimensional code, theoretically, an included angle between one straight side of the "L" -shaped solid image and the X-axis of the world coordinate system may be used.
When the solid image is a solid triangle, the main direction of the two-dimensional code can be determined by using the included angle (third angle) between the target edge in the triangle and the X axis. For example, when the angle corresponding to the target side of the triangle is downward, the included angle of the target side corresponding to the X-axis may be set to be 0 °, and when the angle corresponding to the target side of the triangle is upward, the included angle of the target side corresponding to the X-axis may be set to be 180 °. In particular, when the solid image is a solid right triangle, the principal direction of the two-dimensional code may be determined in the same manner as when the solid image is an "L" shaped solid image, and the principal direction of the two-dimensional code may be determined by using the respective angles between the two legs of the right triangle and the X-axis of the world coordinate system.
Similarly, when the solid image is a solid arc, the main direction of the two-dimensional code may be determined by using the angle (fourth angle) of the chord of the arc corresponding to the X axis, wherein, for example, the angle of the chord of the arc corresponding to the X axis may be set to 0 ° when the arc of the arc is below the chord of the arc, and the angle of the chord of the arc corresponding to the X axis may be set to 180 ° when the arc of the arc is above the chord of the arc.
Subsequently, the mobile robot can perform positioning of the mobile robot according to the determined main direction of the two-dimensional code.
By applying the embodiment of the invention, the mobile robot obtains the two-dimension code image by scanning the two-dimension code; identifying a two-dimensional code matrix point image forming a basic two-dimensional code image and a solid image used for determining a main direction of a two-dimensional code from the two-dimensional code image, wherein the solid image has a predetermined shape; decoding the two-dimensional code matrix point image to obtain the position information of the position of the two-dimensional code; and determining the main direction of the two-dimensional code according to the shape of the solid image and/or the position relation between the solid image and the world coordinate system. Because the image used for determining the main direction in the two-dimensional code is a solid image with a preset shape, the two-dimensional code is easy to identify and not easy to pollute, and the two-dimensional code has strong anti-interference capability.
In one implementation, the basic two-dimensional code image is embedded in a predetermined annular image, wherein the center of the basic two-dimensional code image coincides with the center of the predetermined annular image, and the basic two-dimensional code image does not overlap with the predetermined annular image;
before the step of identifying, from the two-dimensional code image, the two-dimensional code matrix dot image and the solid image for determining the main direction of the two-dimensional code, the two-dimensional code identification method for positioning a mobile robot according to the embodiment of the present invention may further include:
detecting a preset annular image in the two-dimensional code image, and determining an area in the preset annular image as an area to be identified;
the step of identifying a two-dimensional code matrix dot image constituting a basic two-dimensional code image and a solid image for determining a main direction of a two-dimensional code from the two-dimensional code image may include:
and identifying a two-dimensional code matrix point image and a solid image which form the basic two-dimensional code image from the area to be identified.
The mode of detecting the predetermined annular image can adopt a hough circle search algorithm. After the predetermined annular image is detected, edge detection is carried out on the image in the area to be identified, and further, a two-dimensional code matrix point image and a solid image which form a basic two-dimensional code image are identified. The preset annular image can be used as a positioning image of the two-dimensional code, the to-be-identified area is the inside of the preset annular image, only the to-be-identified area inside the preset annular image is identified, the mobile robot is prevented from identifying errors or other two-dimensional codes, and the mobile robot is prevented from being interfered by other two-dimensional codes during positioning. In one implementation, the predetermined annular image may be a circular ring or an elliptical ring.
Further, in order to ensure that the predetermined ring-shaped image is not easily worn, when the solid image is an "L" shaped solid image, the width of the predetermined ring-shaped image may not be lower than the width of the straight side of the "L" shaped solid image; when the solid image is a solid triangle, the width of the predetermined ring image may be not less than the length of the smallest height of the triangle; when the solid image is a solid bow shape, the width of the predetermined ring image may not be lower than the rise of the bow shape. In order to improve the user's engagement, the width of the predetermined ring image may be set autonomously by the user.
In a specific implementation manner, as shown in fig. 4, after the step of obtaining a two-dimensional code, the method for identifying a two-dimensional code for positioning a mobile robot according to an embodiment of the present invention may further include:
s401: carrying out image distortion correction on the obtained two-dimensional code image;
s402: carrying out image binarization processing on the corrected image;
the identifying (S302) of the two-dimensional code matrix dot image constituting the basic two-dimensional code image and the solid image for determining the main direction of the two-dimensional code from the two-dimensional code image may include:
S302A: and identifying a two-dimensional code matrix dot image and a solid image which form the basic two-dimensional code image from the image after the binarization processing.
In order to improve the recognition efficiency and accuracy, image distortion correction can be performed on the obtained two-dimensional code image, image binarization processing can be performed on the corrected image, and then the processed image can be detected and recognized. In which the obtained two-dimensional code image may be subjected to image distortion correction using a conventional technique (e.g., the zhangnyou plane scaling method). Moreover, the image binarization processing is performed on the corrected image by adopting the prior art, which is not described herein again.
Fig. 5 is a schematic diagram of a two-dimensional code image obtained by a mobile robot in practical application.
Corresponding to the above method embodiment, an embodiment of the present invention provides an apparatus for generating a two-dimensional code for positioning a mobile robot, and as shown in fig. 6, the apparatus may include:
a first obtaining module 610, configured to obtain location information of a location where a predetermined two-dimensional code is located;
a first generating module 620, configured to generate a two-dimensional code matrix dot image according to the position information;
a combination module 630, configured to combine the two-dimensional code matrix point image and a solid image preset for determining a main direction of a two-dimensional code into a basic two-dimensional code image, where the solid image has a predetermined shape;
and a second generating module 640, configured to generate a two-dimensional code based on the basic two-dimensional code image.
By applying the embodiment of the invention, the position information of the position of the preset two-dimensional code is obtained; generating a two-dimensional code matrix point image according to the position information; combining the two-dimensional code matrix point image and a solid image which is preset and used for determining the main direction of the two-dimensional code and has a preset shape into a basic two-dimensional code image; and generating a two-dimensional code based on the basic two-dimensional code image. Therefore, the image used for determining the main direction of the two-dimensional code is a solid image, is easy to identify and is not easy to be stained, and the generated two-dimensional code has strong anti-interference capability.
In one implementation mode, the predetermined two-dimensional code is located at a plurality of positions, and the plurality of positions form a predetermined moving path of the mobile robot.
In one implementation, the solid image is a solid image having at least one straight edge.
In one implementation, the solid image is an "L" shaped solid image;
the combination module 630 is specifically configured to splice two straight edges in the two-dimensional code matrix dot image with two straight edges in the "L" shaped solid image, respectively, to form the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid triangle;
the combining module 630 is specifically configured to splice one straight edge in the two-dimensional code matrix point image with one straight edge in the triangle to form the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid arch;
the combining module 630 is specifically configured to splice a straight edge in the two-dimensional code matrix point image and the arched chord to form the basic two-dimensional code image.
In one implementation, the second generating module 640 includes an embedding unit and a determining unit;
the embedding unit is used for embedding the basic two-dimensional code image into a preset annular image, wherein the center of the basic two-dimensional code image is superposed with the center of the preset annular image, and the basic two-dimensional code image is not superposed with the preset annular image;
and the determining unit is used for determining the formed graph as the two-dimensional code.
In one implementation, the predetermined annular image may be a circular ring or an elliptical ring.
In one implementation, the two-dimensional code is printed on a rectangular substrate, and the center of the circle of the predetermined annular image coincides with the center of the rectangular substrate; the rectangular substrate can further comprise datum line segments, each datum line segment corresponds to one of the four edges of the rectangular substrate and is located on a perpendicular bisector of the corresponding edge, and the datum line segments are not overlapped with the two-dimensional code.
In one implementation, the rectangular substrate may further include: and the position information character string is not overlapped with the two-dimensional code and is not overlapped with the reference line segment.
Corresponding to the foregoing method embodiment, an embodiment of the present invention further provides an apparatus for identifying a two-dimensional code for mobile robot positioning, where the apparatus is directed to a two-dimensional code generated by using the foregoing apparatus for generating a two-dimensional code for mobile robot positioning, and as shown in fig. 7, the apparatus may include:
a second obtaining module 710, configured to scan the two-dimensional code by the mobile robot, so as to obtain a two-dimensional code image;
an identifying module 720, configured to identify, from the two-dimensional code image, a two-dimensional code matrix dot image forming a basic two-dimensional code image and a solid image for determining a main direction of a two-dimensional code, where the solid image has a predetermined shape;
a third obtaining module 730, configured to decode the two-dimensional code matrix point image to obtain position information of a position where the two-dimensional code is located;
and the determining module 740 is configured to determine the main direction of the two-dimensional code according to the shape of the solid image and the position relationship between the solid image and the world coordinate system.
By applying the embodiment of the invention, the mobile robot obtains the two-dimension code image by scanning the two-dimension code; identifying a two-dimensional code matrix point image forming a basic two-dimensional code image and a solid image used for determining a main direction of a two-dimensional code from the two-dimensional code image, wherein the solid image has a predetermined shape; decoding the two-dimensional code matrix point image to obtain the position information of the position of the two-dimensional code; and determining the main direction of the two-dimensional code according to the shape of the solid image and/or the position relation between the solid image and the world coordinate system. Because the image used for determining the main direction in the two-dimensional code is a solid image with a preset shape, the two-dimensional code is easy to identify and not easy to pollute, and the two-dimensional code has strong anti-interference capability.
In one implementation manner, the solid image is an "L" shaped solid image, and two straight edges in the two-dimensional code matrix dot image are respectively spliced with two straight edges in the "L" shaped solid image;
the identification module 720 is specifically configured to perform edge extraction on an image included in the two-dimensional code image, and detect the two-dimensional code matrix dot image as the "L" -shaped solid image from the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid triangle, and one straight edge in the two-dimensional code matrix point image is spliced with one straight edge in the triangle;
the identifying module 720 is specifically configured to perform edge extraction on an image included in the two-dimensional code image, and detect the triangle and the two-dimensional code matrix point image from the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid arch, and a straight edge in the two-dimensional code matrix point image is spliced with a chord of the arch;
the identifying module 720 is specifically configured to perform edge extraction on an image included in the two-dimensional code image, and detect the bow shape and the two-dimensional code matrix dot image from the basic two-dimensional code image.
In an implementation manner, the determining module 740 is specifically configured to, when the solid image is an "L" type solid image, determine, as a reference edge, a straight edge of the "L" type solid image that meets a preset reference condition, where the preset reference condition is: the reference edge is rotated by 90 degrees anticlockwise, and the other straight edge in the L-shaped solid image can be determined;
respectively determining first angles w of the reference edges corresponding to the X axis based on the world coordinate system1A second angle w corresponding to the other straight edge with the X axis2
Using said w1W to2And a preset angle calculation formula for calculating the main direction of the two-dimensional code, wherein the preset angle calculation formula is as follows:
Figure BDA0001172531900000231
wherein the W represents a main direction of the two-dimensional code;
alternatively, the first and second electrodes may be,
the determining module 740 is specifically configured to, when the solid image is a solid triangle, determine, based on the world coordinate system, a third angle of a target edge in the triangle corresponding to the X axis, where the target edge is a straight edge that is spliced with one straight edge in the basic two-dimensional code image;
determining the main direction of the two-dimensional code according to the third angle;
alternatively, the first and second electrodes may be,
the determining module 740 is specifically configured to determine, when the solid image is a solid arc, a fourth angle of a chord of the arc corresponding to the X-axis based on the world coordinate system;
and determining the main direction of the two-dimensional code according to the fourth angle.
In one implementation, the basic two-dimensional code image is embedded in a predetermined annular image, wherein the center of the basic two-dimensional code image coincides with the center of the predetermined annular image, and the basic two-dimensional code image is not overlapped with the predetermined annular image;
the device for generating the two-dimensional code for positioning the mobile robot, provided by the embodiment of the invention, can further comprise a detection module;
the detection module is used for detecting a preset annular image in the two-dimensional code image and determining an area in the preset annular image as an area to be identified before the step of identifying a two-dimensional code matrix dot image forming a basic two-dimensional code image and a solid image used for determining the main direction of the two-dimensional code from the two-dimensional code image;
the identifying module 720 is specifically configured to identify the two-dimensional code matrix dot image and the solid image which form the basic two-dimensional code image from the region to be identified.
In one implementation, the predetermined annular image may be a circular ring or an elliptical ring.
In one implementation manner, as shown in fig. 8, an apparatus for generating a two-dimensional code for positioning a mobile robot according to an embodiment of the present invention may further include: a correction module 810 and a processing module 820;
the correction module 810 is configured to perform image distortion correction on the obtained two-dimensional code image;
the processing module 820 is configured to perform image binarization processing on the corrected image;
the identifying module 720 is specifically configured to identify the two-dimensional code matrix dot image and the solid image which form the basic two-dimensional code image from the binarized image.
For the system/apparatus embodiments, since they are substantially similar to the method embodiments, the description is relatively simple, and reference may be made to some descriptions of the method embodiments for relevant points.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
Those skilled in the art will appreciate that all or part of the steps in the above method embodiments may be implemented by a program to instruct relevant hardware to perform the steps, and the program may be stored in a computer-readable storage medium, which is referred to herein as a storage medium, such as: ROM/RAM, magnetic disk, optical disk, etc.
The above description is only for the preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention shall fall within the protection scope of the present invention.

Claims (26)

1. A method for generating a two-dimensional code for mobile robot positioning, the method comprising:
obtaining position information of the position of a preset two-dimensional code;
generating a two-dimensional code matrix point image according to the position information;
combining the two-dimensional code matrix point image and a solid image preset for determining the main direction of the two-dimensional code into a basic two-dimensional code image, wherein the solid image has a preset shape; the solid image is a solid image with at least one straight edge; the at least one straight edge is spliced with one straight edge in the two-dimensional code matrix point image, or the at least one straight edge is parallel to one straight edge in the two-dimensional code matrix point image, and a preset gap exists between the at least one straight edge and the parallel straight edge in the two-dimensional code matrix point image; when the solid image is an "L" type solid image: if the unit points of the two-dimensional code matrix point image are rectangular, the width of each straight edge of the solid image is larger than the length of the long edge or the short edge of each single point in the two-dimensional code matrix point image, and if the unit points of the two-dimensional code matrix point image are circular, the width of each straight edge of the solid image is larger than the length of the diameter of each single point in the two-dimensional code matrix point image;
and generating a two-dimensional code based on the basic two-dimensional code image.
2. The method according to claim 1, wherein the predetermined two-dimensional code is located at a plurality of positions, and the plurality of positions form a predetermined moving path of the mobile robot.
3. The method of claim 1, wherein the solid image is an "L" shaped solid image;
the step of combining the two-dimensional code matrix point image and a solid image preset for determining the main direction of the two-dimensional code into a basic two-dimensional code image comprises the following steps:
splicing two straight edges in the two-dimension code matrix point image with two straight edges in the L-shaped solid image respectively to form the basic two-dimension code image;
alternatively, the first and second electrodes may be,
the solid image is a solid triangle;
the step of combining the two-dimensional code matrix point image and a solid image preset for determining the main direction of the two-dimensional code into a basic two-dimensional code image comprises the following steps:
splicing one straight edge in the two-dimension code matrix point image with one straight edge in the triangle to form the basic two-dimension code image;
alternatively, the first and second electrodes may be,
the solid image is a solid arch;
the step of combining the two-dimensional code matrix point image and a solid image preset for determining the main direction of the two-dimensional code into a basic two-dimensional code image comprises the following steps:
and splicing one straight edge in the two-dimensional code matrix point image with the arched chord to form the basic two-dimensional code image.
4. The method according to any one of claims 1 to 3, wherein the step of generating a two-dimensional code based on the basic two-dimensional code image comprises:
embedding the basic two-dimensional code image into a preset annular image, wherein the center of the basic two-dimensional code image is superposed with the center of the preset annular image, and the basic two-dimensional code image is not overlapped with the preset annular image;
and determining the formed graph as the two-dimensional code.
5. The method of claim 4, wherein the predetermined annular image is a circular ring or an elliptical ring.
6. The method according to claim 4, wherein the two-dimensional code is printed on a rectangular substrate, and the center of the predetermined annular image coincides with the center of the rectangular substrate; the rectangular substrate further comprises datum line segments, each datum line segment corresponds to one of the four edges of the rectangular substrate and is located on a perpendicular bisector of the corresponding edge, and the datum line segments are not overlapped with the two-dimensional code.
7. The method of claim 6, further comprising, on the rectangular substrate: and the position information character string is not overlapped with the two-dimensional code and is not overlapped with the reference line segment.
8. A method for identifying a two-dimensional code for mobile robot positioning, the method being directed to a two-dimensional code generated by the method of claim 1, comprising:
the mobile robot scans the two-dimensional code to obtain a two-dimensional code image;
identifying a two-dimensional code matrix point image forming a basic two-dimensional code image and a solid image used for determining a main direction of a two-dimensional code from the two-dimensional code image, wherein the solid image has a preset shape; the solid image is a solid image with at least one straight edge; the at least one straight edge is spliced with one straight edge in the two-dimensional code matrix point image, or the at least one straight edge is parallel to one straight edge in the two-dimensional code matrix point image, and a preset gap exists between the at least one straight edge and the parallel straight edge in the two-dimensional code matrix point image; when the solid image is an "L" type solid image: if the unit points of the two-dimensional code matrix point image are rectangular, the width of each straight edge of the solid image is larger than the length of the long edge or the short edge of each single point in the two-dimensional code matrix point image, and if the unit points of the two-dimensional code matrix point image are circular, the width of each straight edge of the solid image is larger than the length of the diameter of each single point in the two-dimensional code matrix point image;
decoding the two-dimension code matrix point image to obtain the position information of the position of the two-dimension code;
and determining the main direction of the two-dimensional code according to the shape of the solid image and the position relation between the solid image and a world coordinate system.
9. The method according to claim 8, wherein the solid image is an "L" shaped solid image, and two straight edges in the two-dimensional code matrix dot image are respectively spliced with two straight edges in the "L" shaped solid image;
the step of identifying a two-dimensional code matrix dot image forming a basic two-dimensional code image and a solid image for determining a main direction of a two-dimensional code from the two-dimensional code image includes:
performing edge extraction on an image included in the two-dimensional code image, and detecting the L-shaped solid image and the two-dimensional code matrix point image from the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid triangle, and one straight edge in the two-dimensional code matrix point image is spliced with one straight edge in the triangle;
the step of identifying a two-dimensional code matrix dot image forming a basic two-dimensional code image and a solid image for determining a main direction of a two-dimensional code from the two-dimensional code image includes:
performing edge extraction on an image contained in the two-dimensional code image, and detecting the triangle and the two-dimensional code matrix point image from the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid arch, and a straight edge in the two-dimensional code matrix point image is spliced with a chord of the arch;
the step of identifying a two-dimensional code matrix dot image forming a basic two-dimensional code image and a solid image for determining a main direction of a two-dimensional code from the two-dimensional code image includes:
and performing edge extraction on an image contained in the two-dimensional code image, and detecting the arch and the two-dimensional code matrix point image from the basic two-dimensional code image.
10. The method according to claim 9, wherein when the solid image is an "L" shaped solid image, the step of determining the main direction of the two-dimensional code according to the shape of the solid image and the position relationship of the solid image to the world coordinate system comprises:
determining a straight edge meeting a preset reference condition in the L-shaped solid image as a reference edge, wherein the preset reference condition is as follows: the reference edge is rotated by 90 degrees anticlockwise, and the other straight edge in the L-shaped solid image can be determined;
respectively determining first angles w of the reference edges corresponding to the X axis based on the world coordinate system1A second angle w corresponding to the other straight edge with the X axis2
Using said w1W to2And a preset angle calculation formula for calculating the main direction of the two-dimensional code, wherein the preset angle calculation formula is as follows:
Figure FDA0002920659910000041
wherein the W represents a main direction of the two-dimensional code;
alternatively, the first and second electrodes may be,
when the solid image is a solid triangle, the step of determining the main direction of the two-dimensional code according to the shape of the solid image and the position relation between the solid image and the world coordinate system includes:
determining a third angle of a target side in the triangle corresponding to the X axis based on the world coordinate system, wherein the target side is a straight side spliced with one straight side in the basic two-dimensional code image;
determining the main direction of the two-dimensional code according to the third angle;
alternatively, the first and second electrodes may be,
when the solid image is a solid arch, the step of determining the main direction of the two-dimensional code according to the shape of the solid image and the position relation between the solid image and the world coordinate system comprises the following steps:
determining a fourth angle of a chord of the arc corresponding to the X axis based on the world coordinate system;
and determining the main direction of the two-dimensional code according to the fourth angle.
11. The method according to any one of claims 8-10, wherein the basic two-dimensional code image is embedded in a predetermined ring-shaped image, wherein the center of the basic two-dimensional code image coincides with the center of the predetermined ring-shaped image, and the basic two-dimensional code image does not overlap with the predetermined ring-shaped image;
before the step of identifying, from the two-dimensional code image, a two-dimensional code matrix dot image constituting a basic two-dimensional code image and a solid image for determining a main direction of a two-dimensional code, the method further includes:
detecting a preset annular image in the two-dimensional code image, and determining a region in the preset annular image as a region to be identified;
the step of identifying a two-dimensional code matrix dot image forming a basic two-dimensional code image and a solid image for determining a main direction of a two-dimensional code from the two-dimensional code image includes:
and identifying the two-dimension code matrix point image and the solid image which form the basic two-dimension code image from the area to be identified.
12. The method of claim 11, wherein the predetermined annular image is a circular ring or an elliptical ring.
13. The method according to any one of claims 8-10, wherein after the step of obtaining a two-dimensional code, the method further comprises:
carrying out image distortion correction on the obtained two-dimensional code image;
carrying out image binarization processing on the corrected image;
the step of identifying a two-dimensional code matrix dot image forming a basic two-dimensional code image and a solid image for determining a main direction of a two-dimensional code from the two-dimensional code image includes:
and identifying the two-dimension code matrix dot image and the solid image which form the basic two-dimension code image from the image after the binarization processing.
14. An apparatus for generating a two-dimensional code for mobile robot positioning, the apparatus comprising:
the first obtaining module is used for obtaining the position information of the position of the preset two-dimensional code;
the first generating module is used for generating a two-dimensional code matrix point image aiming at the position information;
the combination module is used for combining the two-dimension code matrix point image and a solid image which is preset for determining the main direction of the two-dimension code into a basic two-dimension code image, wherein the solid image has a preset shape; the solid image is a solid image with at least one straight edge; the at least one straight edge is spliced with one straight edge in the two-dimensional code matrix point image, or the at least one straight edge is parallel to one straight edge in the two-dimensional code matrix point image, and a preset gap exists between the at least one straight edge and the parallel straight edge in the two-dimensional code matrix point image; when the solid image is an "L" type solid image: if the unit points of the two-dimensional code matrix point image are rectangular, the width of each straight edge of the solid image is larger than the length of the long edge or the short edge of each single point in the two-dimensional code matrix point image, and if the unit points of the two-dimensional code matrix point image are circular, the width of each straight edge of the solid image is larger than the length of the diameter of each single point in the two-dimensional code matrix point image;
and the second generation module is used for generating the two-dimensional code based on the basic two-dimensional code image.
15. The apparatus of claim 14, wherein the predetermined two-dimensional code is located at a plurality of positions, and the plurality of positions form a predetermined moving path of the mobile robot.
16. The apparatus of claim 14, wherein the solid image is an "L" shaped solid image;
the combination module is specifically used for splicing two straight edges in the two-dimensional code matrix point image with two straight edges in the L-shaped solid image respectively to form the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid triangle;
the combination module is specifically used for splicing one straight edge in the two-dimensional code matrix point image with one straight edge in the triangle to form the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid arch;
the combination module is specifically used for splicing one straight edge in the two-dimensional code matrix point image and the arched chord to form the basic two-dimensional code image.
17. The apparatus according to any of claims 14-16, wherein the second generating means comprises an embedding unit and a determining unit;
the embedding unit is used for embedding the basic two-dimensional code image into a preset annular image, wherein the center of the basic two-dimensional code image is superposed with the center of the preset annular image, and the basic two-dimensional code image is not superposed with the preset annular image;
and the determining unit is used for determining the formed graph as the two-dimensional code.
18. The apparatus of claim 17, wherein the predetermined annular image is a circular ring or an elliptical ring.
19. The apparatus of claim 17, wherein the two-dimensional code is printed on a rectangular substrate, and the center of the predetermined annular image coincides with the center of the rectangular substrate; the rectangular substrate further comprises datum line segments, each datum line segment corresponds to one of the four edges of the rectangular substrate and is located on a perpendicular bisector of the corresponding edge, and the datum line segments are not overlapped with the two-dimensional code.
20. The apparatus of claim 19, further comprising on the rectangular substrate: and the position information character string is not overlapped with the two-dimensional code and is not overlapped with the reference line segment.
21. An apparatus for recognizing a two-dimensional code for positioning by a mobile robot, the apparatus being directed to the two-dimensional code generated by the apparatus of claim 14, comprising:
the second obtaining module is used for scanning the two-dimension code by the mobile robot to obtain a two-dimension code image;
the identification module is used for identifying a two-dimensional code matrix point image forming a basic two-dimensional code image and a solid image used for determining the main direction of a two-dimensional code from the two-dimensional code image, wherein the solid image has a preset shape; the solid image is a solid image with at least one straight edge; the at least one straight edge is spliced with one straight edge in the two-dimensional code matrix point image, or the at least one straight edge is parallel to one straight edge in the two-dimensional code matrix point image, and a preset gap exists between the at least one straight edge and the parallel straight edge in the two-dimensional code matrix point image; when the solid image is an "L" type solid image: if the unit points of the two-dimensional code matrix point image are rectangular, the width of each straight edge of the solid image is larger than the length of the long edge or the short edge of each single point in the two-dimensional code matrix point image, and if the unit points of the two-dimensional code matrix point image are circular, the width of each straight edge of the solid image is larger than the length of the diameter of each single point in the two-dimensional code matrix point image;
the third obtaining module is used for decoding the two-dimensional code matrix point image to obtain the position information of the position of the two-dimensional code;
and the determining module is used for determining the main direction of the two-dimensional code according to the shape of the solid image and the position relation between the solid image and the world coordinate system.
22. The device of claim 21, wherein the solid image is an "L" shaped solid image, and two straight edges in the two-dimensional code matrix dot image are respectively spliced with two straight edges in the "L" shaped solid image;
the identification module is specifically configured to perform edge extraction on an image included in the two-dimensional code image, and detect the two-dimensional code matrix dot image as the "L" -shaped solid image from the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid triangle, and one straight edge in the two-dimensional code matrix point image is spliced with one straight edge in the triangle;
the identification module is specifically configured to perform edge extraction on an image included in the two-dimensional code image, and detect the triangle and the two-dimensional code matrix point image from the basic two-dimensional code image;
alternatively, the first and second electrodes may be,
the solid image is a solid arch, and a straight edge in the two-dimensional code matrix point image is spliced with a chord of the arch;
the identification module is specifically configured to perform edge extraction on an image included in the two-dimensional code image, and detect the bow shape and the two-dimensional code matrix dot image from the basic two-dimensional code image.
23. The apparatus according to claim 22, wherein the determining module is specifically configured to, when the solid image is an "L" type solid image, determine, as the reference edge, a straight edge of the "L" type solid image that meets a preset reference condition, where the preset reference condition is: the reference edge is rotated by 90 degrees anticlockwise, and the other straight edge in the L-shaped solid image can be determined;
respectively determining first angles w of the reference edges corresponding to the X axis based on the world coordinate system1A second angle w corresponding to the other straight edge with the X axis2
Using said w1W to2And a preset angle calculation formula for calculating the main direction of the two-dimensional code, wherein the preset angle calculation formula is as follows:
Figure FDA0002920659910000091
wherein the W represents a main direction of the two-dimensional code;
alternatively, the first and second electrodes may be,
the determining module is specifically configured to determine, when the solid image is a solid triangle, a third angle of a target edge in the triangle corresponding to an X axis based on the world coordinate system, where the target edge is a straight edge spliced with one straight edge in the basic two-dimensional code image;
determining the main direction of the two-dimensional code according to the third angle;
alternatively, the first and second electrodes may be,
the determining module is specifically configured to determine, when the solid image is a solid arc, a fourth angle of a chord of the arc corresponding to the X axis based on the world coordinate system;
and determining the main direction of the two-dimensional code according to the fourth angle.
24. The apparatus according to any of claims 21-22, wherein the basic two-dimensional code image is embedded in a predetermined ring-shaped image, wherein the center of the basic two-dimensional code image coincides with the center of the predetermined ring-shaped image, and the basic two-dimensional code image does not overlap with the predetermined ring-shaped image;
the device also comprises a detection module;
the detection module is used for detecting a preset annular image in the two-dimensional code image and determining an area in the preset annular image as an area to be identified before the step of identifying a two-dimensional code matrix dot image forming a basic two-dimensional code image and a solid image used for determining the main direction of the two-dimensional code from the two-dimensional code image;
the identification module is specifically configured to identify the two-dimensional code matrix dot image and the solid image which form the basic two-dimensional code image from the region to be identified.
25. The apparatus of claim 24, wherein the predetermined annular image is a circular ring or an elliptical ring.
26. The apparatus according to any one of claims 21-23, further comprising a correction module and a processing module;
the correction module is used for carrying out image distortion correction on the obtained two-dimensional code image;
the processing module is used for carrying out image binarization processing on the corrected image;
the identification module is specifically configured to identify the two-dimensional code matrix dot image and the solid image which form the basic two-dimensional code image from the binarized image.
CN201611111136.5A 2016-12-02 2016-12-02 Two-dimensional code generation and identification method and device for mobile robot positioning Active CN108154209B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611111136.5A CN108154209B (en) 2016-12-02 2016-12-02 Two-dimensional code generation and identification method and device for mobile robot positioning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611111136.5A CN108154209B (en) 2016-12-02 2016-12-02 Two-dimensional code generation and identification method and device for mobile robot positioning

Publications (2)

Publication Number Publication Date
CN108154209A CN108154209A (en) 2018-06-12
CN108154209B true CN108154209B (en) 2021-03-26

Family

ID=62468469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611111136.5A Active CN108154209B (en) 2016-12-02 2016-12-02 Two-dimensional code generation and identification method and device for mobile robot positioning

Country Status (1)

Country Link
CN (1) CN108154209B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109060840B (en) * 2018-08-10 2022-04-05 北京极智嘉科技股份有限公司 Quality monitoring method and device for two-dimensional code, robot, server and medium
CN110858076B (en) * 2018-08-22 2023-06-02 杭州海康机器人股份有限公司 Equipment positioning and grid map construction method and mobile robot
CN109903304B (en) * 2019-02-25 2021-03-16 武汉大学 Automatic building contour extraction algorithm based on convolutional neural network and polygon regularization
CN111489400B (en) * 2020-06-28 2020-10-02 武汉精立电子技术有限公司 Line scanning CCD camera image correction method and medium based on rotating carrier

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011159317A (en) * 2011-04-13 2011-08-18 Toshiba Tec Corp Device and method for reading two-dimensional code
CN202267974U (en) * 2011-07-21 2012-06-06 我查查信息技术(上海)有限公司 Positioning system used for two-dimension code and two-dimension code identification device
CN105437251A (en) * 2016-01-04 2016-03-30 杭州亚美利嘉科技有限公司 Method and device for locating position of robot

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003228476A1 (en) * 2002-04-09 2003-10-27 The Escher Group, Ltd. Encoding and decoding data using angular symbology and beacons
CN101477638B (en) * 2006-11-16 2011-12-14 深圳市天朗时代科技有限公司 Two-dimensional code, printed publication applying the two-dimensional code and decoding process
CN101398907B (en) * 2007-09-26 2011-08-10 中国科学院自动化研究所 Two-dimension code structure and decoding method for movable robot
CN101751591B (en) * 2010-01-14 2016-05-25 复旦大学 High-capacity two-dimensional barcode and reader that can recording voice message
CN102136058B (en) * 2011-04-26 2014-04-30 中国农业大学 Bar code image identification method
CN102999772B (en) * 2012-11-14 2016-02-10 韩偲铭 A kind of decoding method of novel matrix formula Quick Response Code
CN102944236B (en) * 2012-11-20 2015-03-18 无锡普智联科高新技术有限公司 Mobile robot positioning system and method based on a plurality of two-dimensional code readers
CN105989317B (en) * 2015-02-11 2021-10-08 北京鼎九信息工程研究院有限公司 Two-dimensional code identification method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011159317A (en) * 2011-04-13 2011-08-18 Toshiba Tec Corp Device and method for reading two-dimensional code
CN202267974U (en) * 2011-07-21 2012-06-06 我查查信息技术(上海)有限公司 Positioning system used for two-dimension code and two-dimension code identification device
CN105437251A (en) * 2016-01-04 2016-03-30 杭州亚美利嘉科技有限公司 Method and device for locating position of robot

Also Published As

Publication number Publication date
CN108154209A (en) 2018-06-12

Similar Documents

Publication Publication Date Title
CN108154209B (en) Two-dimensional code generation and identification method and device for mobile robot positioning
CN108154210B (en) Two-dimensional code generation and identification method and device
US10438038B2 (en) Decoding method and system for QR code with one damaged position detection pattern
CN106969768B (en) Accurate positioning and parking method for trackless navigation AGV
CN101155238B (en) Image region detection method and device therefor
CN104848858B (en) Quick Response Code and be used for robotic vision-inertia combined navigation system and method
CN101398907B (en) Two-dimension code structure and decoding method for movable robot
US20160246302A1 (en) Methods and systems for mobile-agent navigation
CN106370185B (en) Mobile robot positioning method and system based on ground reference mark
US20210372798A1 (en) Visual navigation method and system for mobile devices based on qr code signposts
KR20100005488A (en) Apparatus and method for building map for mobile robot
CN108549383B (en) Real-time multi-sensor community robot navigation method
JP2009020014A (en) Self-location estimation device
US10107899B1 (en) System and method for calibrating light intensity
CN112217248A (en) Charging pile, and method and device for autonomous charging of mobile robot
CN102681541A (en) Method for image recognition and vision positioning with robot
CN107305380A (en) A kind of automatic obstacle-avoiding method and apparatus
CN110927732A (en) Pose recognition method, electronic device, and storage medium
Lin et al. A Robot Indoor Position and Orientation Method based on 2D Barcode Landmark.
CN110879593A (en) Positioning method, reading method, positioning system and positioning device
CN113900454A (en) Charging pile aligning method, device, equipment and storage medium
CN113204030A (en) Multipoint zone constraint repositioning method, chip and robot
CN111950308A (en) Two-dimensional code positioning method for AGV
US20200110957A1 (en) A fiducial marker, method for forming the fiducial marker, and system for sensing thereof
WO2014054124A1 (en) Road surface markings detection device and road surface markings detection method

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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Hangzhou Hikvision Robot Co.,Ltd.

Address before: 310051 Hall 5, building 1, building 2, no.700 Dongliu Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: HANGZHOU HIKROBOT TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address