A robot-assisted positioning method, device and medium based on two-dimensional code label

Through robot vision sensors identifying and calculating the position of QR code tags, the positioning of robots in the world coordinate system is realized, solving the problem of low efficiency in existing QR code deployment, and improving flexibility and efficiency.

CN115431270BActive Publication Date: 2025-03-07SHANDONG NEW GENERATION INFORMATION IND TECH RES INST CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211127650.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-16
Publication Date
2025-03-07
Estimated Expiration
2042-09-16

Smart Images

  • Figure CN115431270B_ABST
    Figure CN115431270B_ABST
Patent Text Reader

Abstract

The present application discloses a robot-assisted positioning method, device and medium based on a QR code label, which solves the problem of lack of flexibility and low efficiency in the existing QR code deployment. It includes: identifying the QR code label image to determine the unique ID value of the QR code label and the position and posture of the QR code label in the visual sensor coordinate system; obtaining the conversion relationship between the robot coordinate system and the world coordinate system and the position and posture of the visual sensor in the robot coordinate system to calculate the position and posture of the visual sensor in the world coordinate system and calibrating the position and posture of the QR code label in the world coordinate system based on the position and posture of the QR code label in the visual sensor coordinate system and storing it in a named file corresponding to the unique ID value; querying the file to obtain the position and posture of the QR code label in the world coordinate system; determining the position and posture of the visual sensor in the QR code coordinate system and obtaining the position and posture of the robot in the visual sensor coordinate system; calculating the position and posture of the robot in the world coordinate system according to each posture to achieve auxiliary positioning.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robotics technology, and in particular to a robot-assisted positioning method, device and medium based on a two-dimensional code label. Background Art

[0002] QR codes have the advantages of large storage capacity, wide coding range, easy access and use, etc. In recent years, with the rapid development of smart mobile terminal technologies such as mobile phones and tablets, the application field of QR codes has been continuously broadened, playing a role in all walks of life and all aspects of people's work and life.

[0003] In the field of positioning technology, the above advantages of QR codes are being increasingly explored and recognized, and are being used in the development of positioning and auxiliary positioning modules for intelligent devices such as robots or drones, and are gradually becoming one of the important positioning methods in robot inspection and intelligent logistics scenarios. Especially in situations where positioning is easily lost by relying solely on laser, visual and other sensors due to excessive repetition of features (such as the row of cabinets in a data center), QR codes can greatly reduce the possibility of positioning loss by providing a posteriori information for the robot's odometer.

[0004] However, in the current positioning technologies disclosed in literature or patents, the QR code is mainly used to store the absolute position information of the robot, or the absolute position of the QR code itself needs to be manually measured and marked during deployment. Therefore, the flexibility and efficiency of deployment are seriously reduced, limiting its application in large-scale robot operation scenarios, and running counter to the original intention of intelligent robots to liberate manpower, alleviate manpower shortages, and provide convenience for people's work and life. Summary of the invention

[0005] The embodiments of the present application provide a robot-assisted positioning method, device and medium based on a QR code tag, which are used to solve the technical problems that the existing QR code deployment wastes a lot of human resources, lacks flexibility and has low efficiency.

[0006] On the one hand, an embodiment of the present application provides a robot-assisted positioning method based on a two-dimensional code tag, comprising:

[0007] The two-dimensional code label in the operation area of ​​the robot is photographed by the robot's visual sensor to obtain a corresponding two-dimensional code label image, and the two-dimensional code label image is recognized by the function package to determine the unique ID value corresponding to the two-dimensional code label and the position of the two-dimensional code label in the visual sensor coordinate system;

[0008] Obtaining the conversion relationship between the robot coordinate system and the world coordinate system and the position and posture of the visual sensor in the robot coordinate system to calculate the position and posture of the visual sensor in the world coordinate system, and calibrating the position and posture of the QR code tag in the world coordinate system based on the position and posture of the QR code tag in the visual sensor coordinate system to store it in a naming file corresponding to the unique ID value of the QR code tag;

[0009] According to the unique ID value corresponding to the QR code tag, query the file named corresponding to the unique ID value, and obtain the position of the QR code tag in the world coordinate system from the corresponding named file;

[0010] According to the pose of the two-dimensional code tag in the visual sensor coordinate system, determine the pose of the visual sensor in the two-dimensional code coordinate system, and obtain the pose of the robot in the visual sensor coordinate system;

[0011] According to the posture of the two-dimensional code tag in the world coordinate system, the posture of the visual sensor in the two-dimensional code coordinate system and the posture of the robot in the visual sensor coordinate system, the posture of the robot in the world coordinate system is calculated to achieve auxiliary positioning of the robot based on the two-dimensional code tag.

[0012] In one implementation of the present application, the identifying the two-dimensional code label image by the function package to determine the unique ID value corresponding to the two-dimensional code label and the position and posture of the two-dimensional code label in the visual sensor coordinate system specifically includes:

[0013] Identify the two-dimensional code label in the two-dimensional code label image through the function package to determine the corner point of the two-dimensional code label and determine the unique ID value corresponding to the two-dimensional code label;

[0014] Obtaining actual size information of the QR code label corresponding to the unique ID value from a pre-configured function package configuration file;

[0015] The position and posture of the two-dimensional code label in the visual sensor coordinate system is calculated through the function package and according to the corner points of the two-dimensional code label and the actual size information.

[0016] In one implementation of the present application, before photographing the two-dimensional code label in the robot operation area by the robot's visual sensor to obtain the corresponding two-dimensional code label image, the method further includes:

[0017] Generate several unique QR code labels for the robot through the function package; each QR code label corresponds to a unique ID value;

[0018] Determine the operation area of ​​the robot and the position of the visual sensor in the robot according to the configuration file of the robot;

[0019] In the operating area, the designated positions for setting the two-dimensional code labels are determined according to the positions of the visual sensors, and the plurality of unique two-dimensional code labels are respectively set at the corresponding designated positions.

[0020] In one implementation of the present application, the step of acquiring the conversion relationship between the robot coordinate system and the world coordinate system and the position and posture of the visual sensor in the robot coordinate system to calculate the position and posture of the visual sensor in the world coordinate system specifically includes:

[0021] By subscribing to a topic containing all coordinate system transformation relationships of the robot, the transformation relationship between the robot coordinate system and the world coordinate system, as well as the position and posture of the visual sensor in the robot coordinate system, is obtained;

[0022] The matrix corresponding to the conversion relationship between the robot coordinate system and the world coordinate system is multiplied by the matrix corresponding to the position and posture of the visual sensor in the robot coordinate system to calculate the position and posture of the visual sensor in the world coordinate system.

[0023] In one implementation of the present application, the position and posture of the two-dimensional code tag in the world coordinate system are calibrated based on the position and posture of the two-dimensional code tag in the visual sensor coordinate system to store it in a corresponding naming file, specifically including:

[0024] Multiplying the matrix corresponding to the position and posture of the visual sensor in the world coordinate system by the matrix corresponding to the position and posture of the two-dimensional code tag in the visual sensor coordinate system, and calculating the matrix corresponding to the position and posture of the two-dimensional code tag in the world coordinate system;

[0025] The matrix corresponding to the posture of the two-dimensional code tag in the world coordinate system is converted into the form of position coordinates and quaternion, and stored in a file named with the unique ID value corresponding to the two-dimensional code tag.

[0026] In one implementation of the present application, determining the position and posture of the visual sensor in the two-dimensional code coordinate system according to the position and posture of the two-dimensional code tag in the visual sensor coordinate system specifically includes:

[0027] Determine a matrix corresponding to the position and posture of the two-dimensional code label in the visual sensor coordinate system, and invert the corresponding matrix to obtain an inverse matrix corresponding to the matrix;

[0028] According to the corresponding inverse matrix, the position and posture of the visual sensor in the two-dimensional code coordinate system is determined.

[0029] In one implementation of the present application, before photographing the two-dimensional code label in the robot operation area by the robot's visual sensor to obtain the corresponding two-dimensional code label image, the method further includes:

[0030] Acquire a current scene in the robot operation area, and compare the current scene with an initial scene in the operation area;

[0031] When the similarity between the current scene and the initial scene is less than a preset threshold, re-mapping the operation area of ​​the robot based on the current scene;

[0032] The starting point of the re-map is used as the origin of the new world coordinate system, and the position and posture of the robot in the world coordinate system is determined.

[0033] In one implementation of the present application, before photographing the two-dimensional code label in the robot operation area by the robot's visual sensor to obtain the corresponding two-dimensional code label image, the method further includes:

[0034] The image publishing topic is written into the configuration file of the function package; the image publishing topic includes at least one or more of the following: title, QR code label, unique ID value, and initial position of the QR code label in the visual sensor coordinate system.

[0035] On the other hand, the embodiment of the present application further provides a robot-assisted positioning device based on a two-dimensional code label, the device comprising:

[0036] at least one processor;

[0037] and, a memory communicatively coupled to the at least one processor;

[0038] Wherein, the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute a robot-assisted positioning method based on a QR code tag as described above.

[0039] On the other hand, an embodiment of the present application further provides a non-volatile computer storage medium storing computer executable instructions, wherein the computer executable instructions are configured as follows:

[0040] Such as the robot-assisted positioning method based on QR code tags mentioned above.

[0041] The embodiments of the present application provide a robot-assisted positioning method, device and medium based on a two-dimensional code tag, which at least have the following beneficial effects:

[0042] The image of the QR code label set in the robot's operating area is obtained by the visual sensor on the robot. The QR code label image is identified by the function package to determine the unique ID value corresponding to the QR code label and the position and posture of the QR code label in the visual sensor coordinate system; the position and posture of the visual sensor in the world coordinate system can be calculated based on the conversion relationship between the robot coordinate system and the world coordinate system, and the position and posture of the visual sensor in the robot coordinate system, and then the position and posture of the QR code label in the world coordinate system can be calculated based on the calculated position and posture of the visual sensor in the world coordinate system and the position and posture of the QR code label in the visual sensor coordinate system, so as to calibrate the QR code label, and then store the calibrated position and posture of the QR code label in the world coordinate system in a file named with the unique ID value of the QR code label; the unique ID value corresponding to the QR code label is used to query a number of pre-stored files named with the unique ID value corresponding to the QR code label. file, find the file named corresponding to the current unique ID value, and then obtain the position and posture of the QR code tag in the world coordinate system from the found file; according to the position and posture of the QR code tag in the visual sensor coordinate system, the position and posture of the visual sensor in the QR code coordinate system can be obtained, and the position and posture of the robot in the visual sensor coordinate system must also be obtained; according to the above-obtained position and posture of the QR code tag in the world coordinate system, the position and posture of the visual sensor in the QR code coordinate system and the position and posture of the robot in the visual sensor coordinate system, the position and posture of the robot in the world coordinate system can be calculated, thereby realizing the function of auxiliary positioning of the robot based on the QR code tag, so that the auxiliary positioning of the robot can be realized through the relative position and posture between the QR code tag, the robot and each coordinate system, without the need to store the absolute position information of the robot through the QR code tag, which can improve the deployment flexibility of the QR code tag, liberate human resources, and improve the work efficiency of auxiliary positioning for the robot. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0044] Figure 1 A schematic diagram of a flow chart of a robot-assisted positioning method based on a QR code tag provided in an embodiment of the present application;

[0045] Figure 2 A schematic diagram of a robot obtaining a QR code label provided in an embodiment of the present application;

[0046] Figure 3 A schematic diagram of the internal structure of a robot-assisted positioning device based on a QR code tag provided in an embodiment of the present application. DETAILED DESCRIPTION

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

[0048] The embodiments of the present application provide a robot-assisted positioning method, device and medium based on a QR code tag. A QR code tag image set in the robot's operating area is acquired by a visual sensor on the robot. The QR code tag image is identified by a function package to determine a unique ID value corresponding to the QR code tag and the position and posture of the QR code tag in the visual sensor coordinate system. The position and posture of the visual sensor in the world coordinate system are calculated based on the conversion relationship between the robot coordinate system and the world coordinate system, and the position and posture of the visual sensor in the robot coordinate system. Then, based on the calculated position and posture of the visual sensor in the world coordinate system and the position and posture of the QR code tag in the visual sensor coordinate system, the position and posture of the QR code tag in the world coordinate system can be calculated to calibrate the QR code tag, and then the calibrated QR code tag is positioned in the world coordinate system. The pose in the QR code is stored in a file named by the unique ID value of the QR code tag; the unique ID value corresponding to the QR code tag is used to query several pre-stored files named by the unique ID value corresponding to the QR code tag, and the file named corresponding to the current unique ID value is found, and then the pose of the QR code tag in the world coordinate system can be obtained from the found file; according to the pose of the QR code tag in the visual sensor coordinate system, the pose of the visual sensor in the QR code coordinate system can be obtained, and the pose of the robot in the visual sensor coordinate system is also obtained; according to the pose of the QR code tag in the world coordinate system, the pose of the visual sensor in the QR code coordinate system and the pose of the robot in the visual sensor coordinate system obtained above, the pose of the robot in the world coordinate system can be calculated, thereby realizing the function of auxiliary positioning of the robot based on the QR code tag. It solves the technical problems that the existing QR code deployment wastes a lot of human resources, lacks flexibility and has low efficiency.

[0049] Figure 1 The following is a flow chart of a robot-assisted positioning method based on a two-dimensional code tag provided in an embodiment of the present application. Figure 1 As shown, a robot-assisted positioning method based on a two-dimensional code tag provided in an embodiment of the present application may mainly include the following steps:

[0050] 101. Use the robot's visual sensor to photograph the QR code label in the robot's operating area to obtain the corresponding QR code label image, and use the function package to identify the QR code label image to determine the unique ID value corresponding to the QR code label and the position and posture of the QR code label in the visual sensor coordinate system.

[0051] In order to solve the problem of poor positioning effect of the robot in special positions, this application sets a QR code label at a specified position in the robot's operating area according to the actual needs of the robot's operation, so that the server can shoot the QR code label in the operating area through the robot's built-in visual sensor, obtain an image containing the QR code label, and then identify the acquired QR code label image through the open source function package, so as to determine the unique ID value corresponding to the QR code label and the position and posture of the QR code label in the visual sensor coordinate system. It should be noted that the position and posture of the QR code label in the visual sensor coordinate system in the embodiment of the present application refers to the position coordinates of the QR code label in the visual sensor coordinate system, and the quaternion used to indicate the orientation of the QR code label.

[0052] Specifically, the server identifies the QR code label in the QR code label image through the function package, determines the four corner points of the QR code label, and also determines the unique ID value corresponding to the QR code label, and then obtains the actual size information of the QR code label corresponding to the unique ID value from the pre-configured function package configuration file based on the unique ID value corresponding to the QR code label. In this way, the server can calculate the pose of the QR code label in the visual sensor coordinate system through the function package and based on the four corner points of the QR code label and the actual size information of the QR code label obtained. It should be noted that the pose of the QR code label in the visual sensor coordinate system of the embodiment of the present application includes the position coordinates of the QR code label in the visual sensor coordinate system and the quaternion used to indicate the orientation of the QR code label.

[0053] In one embodiment of the present application, before the server uses the robot's visual sensor to capture the QR code label in the robot's operating area to obtain the corresponding QR code label image, it first uses an open source function package to generate a number of unique QR code labels for the robot, with a unique ID value of any integer between 0 and 65535, in different styles, and with customizable sizes. It should be noted that each QR code label in the embodiment of the present application corresponds to a unique ID value.

[0054] Based on the robot's configuration file, the server can determine the robot's corresponding operating area and the position of the robot's built-in visual sensor. Within the robot's operating area, the server can determine the designated position for setting the QR code label based on the position of the visual sensor, thereby setting several QR code labels generated by the function package at the corresponding designated positions.

[0055] Figure 2 A schematic diagram of a robot obtaining a QR code label provided in an embodiment of the present application. Figure 2 As shown, the robot's visual sensor can be set on the top of the machine or on the side of the fuselage. In the case where the robot's visual sensor is set on the top of the machine, this application requires that the QR code label be set on the ceiling of the robot's operating area. In the case where the robot's visual sensor is set on one side of the fuselage, this application requires that the QR code label be set on the wall of the robot's operating area, and the QR code label needs to be set on a wall with a height similar to that of the visual sensor, so that the visual sensor can obtain the QR code label, thereby being able to assist the robot in positioning based on the obtained QR code label and improve the accuracy of positioning.

[0056] In one embodiment of the present application, before the server uses the robot's visual sensor to photograph the QR code label in the robot's operating area to obtain the corresponding QR code label image, it is necessary to obtain the real-time scene in the robot's operating area, that is, the current scene, and compare the current scene in the operating area with the initial scene to determine whether the similarity between the current scene and the initial scene is less than a preset threshold, and when the similarity between the current scene and the initial scene is less than the preset threshold, the robot's operating area is remapped based on the current scene, the starting point of the remap is used as the origin of the new world coordinate system, and the robot's position and posture in the new world coordinate system is determined.

[0057] In one embodiment of the present application, the server needs to write the image publishing topic into the configuration file of the function package before taking a picture of the QR code label in the robot's operating area through the robot's visual sensor to obtain the corresponding QR code label image. It should be noted that the image publishing topic in the embodiment of the present application is at least an array consisting of information such as the title, the QR code label, the unique ID value, and the initial position of the QR code label in the visual sensor coordinate system.

[0058] 102. Obtain the conversion relationship between the robot coordinate system and the world coordinate system and the position and pose of the visual sensor in the robot coordinate system to calculate the position and pose of the visual sensor in the world coordinate system, and calibrate the position and pose of the QR code tag in the world coordinate system based on the position and pose of the QR code tag in the visual sensor coordinate system to store it in a named file corresponding to the unique ID value of the QR code tag.

[0059] Specifically, by subscribing to the topic containing all the robot coordinate system transformation relationships, the server can obtain the transformation relationship between the robot coordinate system and the world coordinate system, as well as the position and posture of the visual sensor in the robot coordinate system. Then, the server multiplies the matrix corresponding to the transformation relationship between the robot coordinate system and the world coordinate system obtained with the matrix corresponding to the position and posture of the visual sensor in the robot coordinate system, and can calculate the position and posture of the visual sensor in the world coordinate system.

[0060] The server multiplies the matrix corresponding to the posture of the visual sensor in the world coordinate system with the matrix corresponding to the posture of the QR code tag in the visual sensor coordinate system, and calculates the matrix corresponding to the posture of the QR code tag in the world coordinate system. The matrix corresponding to the posture of the QR code tag in the world coordinate system is then converted into the position coordinates of the QR code tag in the world coordinate system and the quaternion used to indicate the orientation of the QR code tag, and stored in a file named with the unique ID value corresponding to the QR code tag, so that the subsequent server can query the corresponding file according to the unique ID value corresponding to the QR code tag to obtain the required information.

[0061] 103. According to the unique ID value corresponding to the QR code tag, query the file named corresponding to the unique ID value, and obtain the position of the QR code tag in the world coordinate system from the corresponding named file.

[0062] According to the determined unique ID value corresponding to the QR code tag, the server queries the file named corresponding to the current unique ID value from a number of pre-stored files named with the unique ID value corresponding to the QR code tag, and then can obtain the position and posture of the QR code tag in the world coordinate system from the queried file. It should be noted that in the embodiment of the present application, the file named with the unique ID value is a JSON file, and the JSON file includes the predetermined position and posture of the QR code tag in the world coordinate system.

[0063] 104. According to the position and posture of the QR code label in the visual sensor coordinate system, determine the position and posture of the visual sensor in the QR code coordinate system, and obtain the position and posture of the robot in the visual sensor coordinate system.

[0064] Based on the determined position and posture of the QR code tag in the visual sensor coordinate system, the server can determine the corresponding position and posture of the visual sensor in the QR code coordinate system. At the same time, the server also needs to obtain the position and posture of the robot in the visual sensor coordinate system through subscription.

[0065] Specifically, the server determines the matrix corresponding to the posture of the QR code label in the visual sensor coordinate system, and then inverts the matrix to obtain the inverse matrix corresponding to the current matrix. This inverse matrix is ​​the matrix corresponding to the posture of the visual sensor in the QR code coordinate system, thus determining the posture of the visual sensor in the QR code coordinate system.

[0066] 105. According to the posture of the QR code label in the world coordinate system, the posture of the visual sensor in the QR code coordinate system, and the posture of the robot in the visual sensor coordinate system, the posture of the robot in the world coordinate system is calculated to achieve auxiliary positioning of the robot based on the QR code label.

[0067] The server calculates the robot's position in the world coordinate system by multiplying the position of the QR code tag in the world coordinate system, the position of the visual sensor in the QR code coordinate system, and the position of the robot in the visual sensor coordinate system obtained in the previous steps, thereby realizing auxiliary positioning of the robot based on the QR code tag.

[0068] The above is an embodiment of the method proposed in this application. Based on the same inventive concept, the embodiment of this application also provides a robot-assisted positioning device based on a QR code label, and its structure is as follows: Figure 3 shown.

[0069] Figure 3 The internal structure diagram of a robot-assisted positioning device based on a two-dimensional code label provided in an embodiment of the present application. Figure 3 As shown, the device includes:

[0070] at least one processor;

[0071] and, a memory communicatively coupled to the at least one processor;

[0072] The memory stores instructions that can be executed by at least one processor, and the instructions are executed by at least one processor to enable the at least one processor to:

[0073] The robot's visual sensor is used to capture the QR code label in the robot's operating area to obtain the corresponding QR code label image, and the QR code label image is identified by the function package to determine the unique ID value corresponding to the QR code label and the position of the QR code label in the visual sensor coordinate system;

[0074] According to the unique ID value corresponding to the QR code tag, query the file named corresponding to the unique ID value, and obtain the position of the QR code tag in the world coordinate system from the corresponding named file;

[0075] According to the position and posture of the QR code label in the visual sensor coordinate system, determine the position and posture of the visual sensor in the QR code coordinate system, and obtain the position and posture of the robot in the visual sensor coordinate system;

[0076] According to the pose of the QR code label in the world coordinate system, the pose of the visual sensor in the QR code coordinate system and the pose of the robot in the visual sensor coordinate system, the pose of the robot in the world coordinate system is calculated to achieve auxiliary positioning of the robot based on the QR code label.

[0077] The embodiment of the present application further provides a non-volatile computer storage medium storing computer executable instructions, wherein the computer executable instructions are configured as follows:

[0078] The robot's visual sensor is used to capture the QR code label in the robot's operating area to obtain the corresponding QR code label image, and the QR code label image is identified by the function package to determine the unique ID value corresponding to the QR code label and the position of the QR code label in the visual sensor coordinate system;

[0079] According to the unique ID value corresponding to the QR code tag, query the file named corresponding to the unique ID value, and obtain the position of the QR code tag in the world coordinate system from the corresponding named file;

[0080] According to the position and posture of the QR code label in the visual sensor coordinate system, determine the position and posture of the visual sensor in the QR code coordinate system, and obtain the position and posture of the robot in the visual sensor coordinate system;

[0081] According to the pose of the QR code label in the world coordinate system, the pose of the visual sensor in the QR code coordinate system and the pose of the robot in the visual sensor coordinate system, the pose of the robot in the world coordinate system is calculated to achieve auxiliary positioning of the robot based on the QR code label.

[0082] Each embodiment in this application is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device and medium embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments.

[0083] The devices and media provided in the embodiments of the present application correspond one-to-one to the methods. Therefore, the devices and media also have similar beneficial technical effects as the corresponding methods. Since the beneficial technical effects of the methods have been described in detail above, the beneficial technical effects of the devices and media will not be repeated here.

[0084] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0085] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0086] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0087] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0088] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0089] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0090] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0091] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0092] The above is only an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims

1. A robot-assisted positioning method based on a two-dimensional code tag, characterized in that: The method comprises: The two-dimensional code label in the operation area of ​​the robot is photographed by the robot's visual sensor to obtain a corresponding two-dimensional code label image, and the two-dimensional code label image is recognized by the function package to determine the unique ID value corresponding to the two-dimensional code label and the position of the two-dimensional code label in the visual sensor coordinate system; Obtaining the conversion relationship between the robot coordinate system and the world coordinate system and the position and posture of the visual sensor in the robot coordinate system to calculate the position and posture of the visual sensor in the world coordinate system, and calibrating the position and posture of the QR code tag in the world coordinate system based on the position and posture of the QR code tag in the visual sensor coordinate system to store it in a naming file corresponding to the unique ID value of the QR code tag; According to the unique ID value corresponding to the QR code tag, query the file named corresponding to the unique ID value, and obtain the position of the QR code tag in the world coordinate system from the corresponding named file; According to the pose of the two-dimensional code tag in the visual sensor coordinate system, determine the pose of the visual sensor in the two-dimensional code coordinate system, and obtain the pose of the robot in the visual sensor coordinate system; Calculate the posture of the robot in the world coordinate system according to the posture of the two-dimensional code label in the world coordinate system, the posture of the visual sensor in the two-dimensional code coordinate system, and the posture of the robot in the visual sensor coordinate system, so as to achieve auxiliary positioning of the robot based on the two-dimensional code label; Before photographing the two-dimensional code label in the robot operation area by the robot's visual sensor to obtain the corresponding two-dimensional code label image, the method further includes: Generate several unique QR code labels for the robot through the function package; each QR code label corresponds to a unique ID value; Determine the operation area of ​​the robot and the position of the visual sensor in the robot according to the configuration file of the robot; In the operation area, according to the position of the visual sensor, a designated position for setting a two-dimensional code label is determined, and the plurality of unique two-dimensional code labels are respectively set at the corresponding designated positions; The step of calibrating the position and posture of the two-dimensional code tag in the world coordinate system based on the position and posture of the two-dimensional code tag in the visual sensor coordinate system to store the position and posture in the corresponding named file specifically includes: Multiplying the matrix corresponding to the position and posture of the visual sensor in the world coordinate system by the matrix corresponding to the position and posture of the two-dimensional code tag in the visual sensor coordinate system, and calculating the matrix corresponding to the position and posture of the two-dimensional code tag in the world coordinate system; The matrix corresponding to the posture of the two-dimensional code tag in the world coordinate system is converted into the form of position coordinates and quaternion, and stored in a file named with the unique ID value corresponding to the two-dimensional code tag.

2. A robot-assisted positioning method based on a two-dimensional code tag according to claim 1, characterized in that: The identifying the two-dimensional code label image by the function package to determine the unique ID value corresponding to the two-dimensional code label and the position and posture of the two-dimensional code label in the visual sensor coordinate system specifically includes: Identify the two-dimensional code label in the two-dimensional code label image through the function package to determine the corner point of the two-dimensional code label and determine the unique ID value corresponding to the two-dimensional code label; Obtaining actual size information of the QR code label corresponding to the unique ID value from a pre-configured function package configuration file; The position and posture of the two-dimensional code label in the visual sensor coordinate system is calculated through the function package and according to the corner points of the two-dimensional code label and the actual size information.

3. The robot-assisted positioning method based on a two-dimensional code tag according to claim 1, characterized in that: The acquiring the conversion relationship between the robot coordinate system and the world coordinate system and the position and posture of the visual sensor in the robot coordinate system to calculate the position and posture of the visual sensor in the world coordinate system specifically includes: By subscribing to a topic containing all coordinate system transformation relationships of the robot, the transformation relationship between the robot coordinate system and the world coordinate system, as well as the position and posture of the visual sensor in the robot coordinate system, is obtained; The matrix corresponding to the conversion relationship between the robot coordinate system and the world coordinate system is multiplied by the matrix corresponding to the position and posture of the visual sensor in the robot coordinate system to calculate the position and posture of the visual sensor in the world coordinate system.

4. The robot-assisted positioning method based on a two-dimensional code tag according to claim 1, characterized in that: Determining the position and posture of the visual sensor in the two-dimensional code coordinate system according to the position and posture of the two-dimensional code tag in the visual sensor coordinate system specifically includes: Determine a matrix corresponding to the position and posture of the two-dimensional code label in the visual sensor coordinate system, and invert the corresponding matrix to obtain an inverse matrix corresponding to the matrix; According to the corresponding inverse matrix, the position and posture of the visual sensor in the two-dimensional code coordinate system is determined.

5. The robot-assisted positioning method based on a two-dimensional code tag according to claim 1, characterized in that: Before photographing the two-dimensional code label in the robot operation area by the robot's visual sensor to obtain the corresponding two-dimensional code label image, the method further includes: Acquire a current scene in the robot operation area, and compare the current scene with an initial scene in the operation area; When the similarity between the current scene and the initial scene is less than a preset threshold, re-mapping the operation area of ​​the robot based on the current scene; The starting point of the re-map is used as the origin of the new world coordinate system, and the position and posture of the robot in the world coordinate system is determined.

6. The robot-assisted positioning method based on a two-dimensional code tag according to claim 1, characterized in that: Before photographing the two-dimensional code label in the robot operation area by the robot's visual sensor to obtain the corresponding two-dimensional code label image, the method further includes: The image publishing topic is written into the configuration file of the function package; the image publishing topic includes at least one or more of the following: title, QR code label, unique ID value, and initial position of the QR code label in the visual sensor coordinate system.

7. A robot-assisted positioning device based on a QR code label, characterized in that: The device comprises: at least one processor; and, a memory communicatively coupled to the at least one processor; Wherein, the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute a robot-assisted positioning method based on a QR code tag as described in any one of claims 1-6.

8. A non-volatile computer storage medium storing computer executable instructions, characterized in that: The computer executable instructions are configured to: A robot-assisted positioning method based on a two-dimensional code tag as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Repositioning method and system, mobile robot and storage medium

    CN111158374A

  • Auxiliary positioning method and device and medium

    CN114862967A