A method, device, robot and system for automatically laying out a two-dimensional code

By using robots to automatically lay QR codes and employing sensor data fusion technology to determine pose information in real time, the problem of low efficiency and low accuracy of manual laying is solved, achieving high-precision QR code laying and meeting the guidance requirements of AGVs.

CN116476047BActive Publication Date: 2026-04-21SANHE ROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SANHE ROBOT TECH CO LTD
Filing Date
2023-03-27
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

In existing technologies, QR code deployment relies on manual operation, resulting in wasted manpower, low efficiency, low accuracy, and inconsistent quality, making it difficult to meet the accuracy requirements of AGV guidance.

Method used

The method of automatically laying QR codes by robots is adopted. By acquiring measurement data from sensors such as laser trackers, IMUs and encoders, and combining data fusion technology, the robot's pose information is determined in real time, and QR codes are laid during pose matching, including obstacle avoidance and QR code printing.

Benefits of technology

It enables automated QR code deployment, saving manpower, improving deployment accuracy and efficiency, and ensuring the accuracy of AGV guidance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116476047B_ABST
    Figure CN116476047B_ABST
Patent Text Reader

Abstract

The application provides a method, device, robot and system for automatically laying a two-dimensional code, the method comprising: obtaining first measurement data and determining pose information of the robot according to the first measurement data; the first measurement data comprises robot pose measurement data collected by a laser tracker at a set position, and the pose information comprises position information and a heading angle; controlling the robot to move to a position of a two-dimensional code to be laid according to the pose information of the robot and the pose information of the two-dimensional code to be laid; and controlling the robot to stop moving and lay the two-dimensional code when it is determined that first pose information of a code-laying unit of the robot is the same as the pose information of the two-dimensional code to be laid. The technical solution of the application can accurately determine the pose information of the robot in real time, so that the robot lays the two-dimensional code according to the pose information of the two-dimensional code to be laid, thereby saving labor and improving the laying accuracy of the two-dimensional code.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of mobile robot navigation technology, specifically to a method, apparatus, robot, and system for automatically laying out QR codes. Background Technology

[0002] With the rapid development of high-tech such as big data, cloud computing, and artificial intelligence, QR code technology has been widely used in many fields. Scenarios that require QR codes to be laid at many fixed locations are present in many fields, especially in the field of AGV navigation.

[0003] AGVs are vehicles equipped with automatic navigation devices that can travel along a predetermined navigation path. With the continuous improvement of manufacturing levels and automation technology, the demand for cargo transportation is also increasing. AGVs have been widely used due to their high degree of automation and high transportation efficiency. Among the many AGV guidance methods, QR code guidance has become the most common AGV guidance method on the market due to its high positioning accuracy, ease of deployment and path modification, and lack of concerns about sound and light interference.

[0004] When using QR codes as an AGV guidance method, QR codes arranged in a regular matrix at certain intervals need to be laid on the ground. The AGV travels according to the information in the QR codes laid on the ground. The accuracy of the QR code laying greatly determines whether accurate guidance information can be provided to the AGV. Therefore, the laying of QR codes is a very important process.

[0005] Currently, the installation of QR codes is usually done manually, requiring manual measurement, positioning, placement, and pasting. This is an extremely time-consuming task, which not only wastes manpower, has low work efficiency, and requires long AGV commissioning time, but also suffers from drawbacks such as the accuracy of QR code placement points being affected by the installers, resulting in inconsistent installation quality and low accuracy. Summary of the Invention

[0006] In view of this, the embodiments of this application aim to provide a method, apparatus, robot and system for automatically laying QR codes, which can not only automatically lay QR codes and save manpower, but also accurately determine the robot's position information, thereby improving the laying accuracy of QR codes.

[0007] According to a first aspect of the embodiments of this application, a method for automatically laying out QR codes is provided, comprising:

[0008] Acquire first measurement data and determine the robot's pose information based on the first measurement data; the first measurement data includes robot pose measurement data collected by a laser tracker at a set position, and the pose information includes position information and heading angle information;

[0009] Based on the robot's pose information and the pose information of the QR code to be laid, the robot is controlled to move towards the location of the QR code to be laid.

[0010] When it is determined that the first pose information of the robot's labeling unit is the same as the pose information of the QR code to be laid, the robot is controlled to stop moving and lay the QR code.

[0011] Optionally, the first measurement data may also include robot pose measurement data acquired by at least one of the IMU and encoder installed on the robot;

[0012] Determining the robot's pose information based on the first measurement data includes:

[0013] The robot pose measurement data collected by the laser tracker and the robot pose measurement data collected by at least one of the IMU and the encoder are fused together, and the robot pose information is determined based on the fused data.

[0014] Optionally, when it is determined that the first pose information of the robot's labeling unit is the same as the pose information of the QR code to be laid, controlling the robot to stop moving and laying the QR code includes:

[0015] Based on the robot's pose information, determine the first pose information of the robot's coding unit;

[0016] Determine whether the first pose information of the robot's code-applying unit is the same as the pose information of the QR code to be applied;

[0017] If they match, control the robot to stop moving and lay out the QR code.

[0018] Optionally, the method further includes:

[0019] After the robot stops moving, second measurement data is acquired, and second pose information of the robot's coding unit is determined based on the second measurement data; the second measurement data includes pose measurement data of the robot's coding unit collected by sensors installed on the robot.

[0020] Determine whether the second pose information of the robot's code-applying unit is the same as the pose information of the QR code to be applied;

[0021] If the second pose information of the robot's code-applying unit is the same as the pose information of the QR code to be applied, then the QR code is applied.

[0022] If the second pose information of the robot's code-applying unit is different from the pose information of the QR code to be laid, the robot's pose is adjusted, and the QR code is laid when the second pose information of the robot's code-applying unit is the same as the pose information of the QR code to be laid.

[0023] Optionally, the second measurement data includes a marker line image acquired by an image sensor mounted on the robot, and determining the second pose information of the robot's coding unit based on the second measurement data includes:

[0024] The feature points or feature lines in the marked line image are matched with the feature points or feature lines in the preset map to determine the second pose information of the robot's coding unit;

[0025] And / or,

[0026] The second measurement data includes point cloud data collected by a lidar mounted on the robot. Determining the second pose information of the robot's coding unit based on the second measurement data includes:

[0027] The point cloud data is registered with a preset high-precision map to determine the second pose information of the robot's coding unit.

[0028] Optionally, the method further includes:

[0029] During the process of controlling the robot to move toward the location where the QR code is to be laid, the presence of obstacles in the robot's forward direction is detected.

[0030] When it is determined that there is an obstacle in the robot's forward direction, it is determined whether the obstacle is located at the position of the QR code to be laid;

[0031] If the obstacle is located at the position where the QR code to be laid is to be installed, an alarm message will be generated;

[0032] If the obstacle is not located at the position where the QR code is to be laid, the robot is controlled to change its direction of travel.

[0033] Optionally, the method further includes:

[0034] During the process of controlling the robot to move to the location where the QR code to be laid is to print the QR code to be laid and record the ID information of the QR code to be laid.

[0035] According to a second aspect of the embodiments of this application, an apparatus for automatically laying out QR codes is provided, comprising:

[0036] The first unit is used to acquire first measurement data and determine the robot's pose information based on the first measurement data; the first measurement data includes robot pose measurement data collected by a laser tracker at a set position, and the pose information includes position information and heading angle information;

[0037] The second unit is used to control the robot to move toward the position of the QR code to be laid, based on the robot's pose information and the pose information of the QR code to be laid.

[0038] The third unit is used to control the robot to stop moving and lay the QR code when it is determined that the first pose information of the robot's code-applying unit is the same as the pose information of the QR code to be laid.

[0039] Optionally, the device further includes an obstacle avoidance unit and / or a printing unit, wherein,

[0040] The obstacle avoidance unit is used to detect whether there are obstacles in the robot's forward direction during the process of controlling the robot to move towards the location where the QR code is to be laid;

[0041] When it is determined that there is an obstacle in the robot's forward direction, it is determined whether the obstacle is located at the position of the QR code to be laid;

[0042] If the obstacle is located at the position where the QR code to be laid is to be generated, an alarm message is generated.

[0043] If the obstacle is not located at the position where the QR code is to be laid, control the robot to change its direction of travel;

[0044] The printing unit is used to control the robot to print the QR code to be laid and record the ID information of the QR code to be laid during the process of controlling the robot to move to the location of the QR code to be laid.

[0045] According to a third aspect of the embodiments of this application, a robot is provided, comprising:

[0046] A processor, and a memory connected to the processor;

[0047] The memory is used to store computer programs;

[0048] The processor is used to call and execute the computer program in the memory to perform the method of automatically laying QR codes as described in the first aspect of this application.

[0049] According to a fourth aspect of the embodiments of this application, a system for automatically laying out QR codes is provided, comprising:

[0050] A robot, and a laser tracker positioned at a specific location, wherein the robot is equipped with a controller and a reflector;

[0051] The controller on the robot is used to perform the method of automatically laying out QR codes as described in the first aspect of this application.

[0052] The technical solution provided in this application may include the following beneficial effects:

[0053] The technical solution provided in this application first acquires first measurement data and determines the robot's pose information based on the first measurement data. The first measurement data includes robot pose measurement data collected by a laser tracker at a set position, and the pose information includes position information and heading angle information. Then, based on the robot's pose information and the pose information of the QR code to be laid, the robot is controlled to move towards the position of the QR code to be laid. When it is determined that the first pose information of the robot's labeling unit is the same as the pose information of the QR code to be laid, the robot is controlled to stop moving and lay the QR code. Using the technical solution of this application, not only can the robot automatically lay QR codes, thus saving manpower, but also, by accurately determining the robot's pose information in real time, the robot can lay QR codes according to the preset pose information of the QR code to be laid, improving the laying accuracy of the QR codes. Attached Figure Description

[0054] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0055] Figure 1 This is a flowchart illustrating a method for automatically laying out QR codes, as provided in an embodiment of this application.

[0056] Figure 2 This is a schematic diagram of the processing flow for controlling the robot to lay QR codes when the first pose information of the robot's code-laying unit is the same as the pose information of the QR code to be laid, as provided in the embodiments of this application.

[0057] Figure 3 This is a flowchart illustrating another method for automatically laying out QR codes, provided in an embodiment of this application.

[0058] Figure 4 This is a schematic diagram of the structure of an automatic QR code laying device provided in an embodiment of this application.

[0059] Figure 5 This is a schematic diagram of the structure of a device for automatically laying QR codes, provided in an embodiment of this application.

[0060] Figure 6This is a schematic diagram of the structure of a system for automatically laying QR codes, provided in an embodiment of this application.

[0061] Figure 7 This is a schematic diagram of another system for automatically laying QR codes, provided in an embodiment of this application. Detailed Implementation

[0062] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0063] Please refer to Figure 1 , Figure 1 This is a flowchart illustrating a method for automatically laying QR codes according to an embodiment of this application. The method is applied in a scenario where QR codes are laid according to preset pose information of the QR codes to be laid. It is executed by a robot performing the QR code laying in the scenario, specifically by the robot's controller.

[0064] like Figure 1 As shown, the method for automatically laying out QR codes in this embodiment includes the following steps S101-S103:

[0065] S101. Obtain first measurement data and determine the robot's pose information based on the first measurement data; the first measurement data includes robot pose measurement data collected by a laser tracker at a set position, and the pose information includes position information and heading angle information.

[0066] The robot's pose information includes its position information and its heading angle information. The robot's position information can be understood as the three-dimensional and two-dimensional coordinates of the robot's center point. The robot's heading angle can be understood as the angle between the robot's forward direction and the X-axis of the world coordinate system.

[0067] The first measurement data refers to robot pose measurement data collected by sensors, wherein the robot pose measurement data refers to measurement data related to robot pose.

[0068] The sensor is communicatively connected to the robot's controller, which can acquire the first measurement data sent by the sensor via the communication network. After acquiring the first measurement data, the robot's pose information can be determined based on it.

[0069] The sensor can be a laser tracker at a predetermined location, meaning the first measurement data includes robot pose measurement data collected by the laser tracker at the predetermined location. After acquiring the robot pose measurement data collected by the laser tracker at the predetermined location, the robot's pose information can be determined based on this data. This will be discussed in detail later and will not be elaborated here. The laser tracker at the predetermined location can be understood as a laser tracker installed at a known fixed location, i.e., a laser tracker stationed at a known point.

[0070] To improve the accuracy of robot pose measurement, the sensors, in addition to a laser tracker at a set position, may also include at least one other type of sensor capable of acquiring robot pose measurement data. That is, the first measurement data includes robot pose measurement data acquired by the laser tracker at the set position, and robot pose measurement data acquired by at least one other type of sensor. After acquiring the robot pose measurement data acquired by the laser tracker at the set position and the robot pose measurement data acquired by at least one other type of sensor, data fusion is performed to obtain fused data, and the robot's pose information is determined based on the fused data. This will be discussed in detail later and will not be elaborated here.

[0071] Optionally, the at least one other type of sensor may be at least one of an IMU and an encoder mounted on the robot.

[0072] It should be noted that the laser tracker can be one, two, or multiple, depending on actual needs; this application does not make any specific limitations in this regard.

[0073] S102. Based on the robot's pose information and the pose information of the QR code to be laid, control the robot to move towards the position of the QR code to be laid.

[0074] Before performing this step, it is necessary to first obtain the pose information of the QR code to be laid. The pose information of the QR code to be laid refers to its pose information in the world coordinate system, including the position information of the QR code and its heading angle information. The heading angle can be the angle between one axis of symmetry of the QR code to be laid and the X-axis of the world coordinate system.

[0075] Optionally, the specific process for determining the pose information of the QR code to be laid can be as follows:

[0076] An electronic map is created of the workshop, warehouse, and other spaces where the QR code to be laid is located. The pose of the QR code is marked on the electronic map to determine its pose information. Then, based on the mapping relationship between the electronic map coordinate system and the world coordinate system, the pose information of the QR code on the electronic map is converted into its pose information in the world coordinate system. Finally, the pose information of the QR code in the world coordinate system is sent to the robot controller via a communication network or imported into the robot controller via a USB flash drive. The robot controller can then obtain the pose information of the QR code in the world coordinate system.

[0077] After determining the robot's pose information based on the first measurement data, the robot's controller plans the robot's motion path based on the robot's pose information and the pose information of the QR code to be laid, and controls the robot to move along the motion path. During the control of the robot's movement, the robot's controller determines the robot's real-time pose information based on the first measurement data acquired in real time, updates the motion path based on the robot's real-time pose information, and controls the robot to move towards the location where the QR code to be laid.

[0078] S103. When it is determined that the first pose information of the robot's coding unit is the same as the pose information of the QR code to be laid, the robot is controlled to stop moving and the QR code is laid.

[0079] The robot's code-applying unit can be understood as a component on the robot used to apply QR codes.

[0080] The first pose information of the coding unit can be understood as the two-dimensional coordinate position information of the coding unit and the heading angle information of the coding unit.

[0081] Optionally, the laying of QR codes can be understood as the robot's labeling unit pasting the printed QR codes to be laid onto the correct ground position according to the pose information of the QR codes to be laid, or it can be understood as the robot's labeling unit spraying QR codes onto the correct ground position according to the pose information of the QR codes to be laid.

[0082] When the QR code is laid by pasting, in order to prevent air bubbles from appearing in the laid QR code, the QR code with adhesive on the back needs to be pressed flat on the ground. Therefore, the pasting unit needs to be located directly above the position of the QR code to be laid, and the heading angle of the pasting unit should be the same as the heading angle of the QR code to be laid. That is, when the first pose information of the pasting unit is the same as the position pose information of the QR code to be laid, the pasting unit should be controlled to press down vertically. Only then can the pasting unit lay the QR code according to the position pose information of the QR code to be laid, and ensure that the QR code is free of air bubbles.

[0083] When the QR code is laid out by spraying, in order to obtain a better spraying effect, it is also necessary to control the spraying unit to spray the QR code when the first pose information of the labeling unit is the same as the pose information of the QR code to be laid out.

[0084] It should be noted that the robot can also lay out the QR codes in other ways that can be achieved with reference to existing technologies, and this application does not limit this.

[0085] As an optional implementation method, such as Figure 2 As shown, step S103 may specifically include steps S201-S203:

[0086] S201. Based on the robot's pose information, determine the first pose information of the robot's coding unit.

[0087] The coding unit of the robot is mounted on the robot body and moves only relative to the robot body in the vertical direction. Therefore, the coding unit has a fixed relative position with the center point of the robot in the horizontal direction, and the two-dimensional coordinate system of the coding unit and the two-dimensional coordinate system of the robot have a fixed transformation matrix. After obtaining the robot's pose information, the first pose information of the coding unit can be determined by the transformation matrix between the two-dimensional coordinate system of the coding unit and the two-dimensional coordinate system of the robot.

[0088] S202. Determine whether the first pose information of the robot's code-applying unit is the same as the pose information of the QR code to be laid.

[0089] During the process of controlling the robot to move towards the location where the QR code to be laid, the first pose information of the robot's labeling unit is judged in real time to see if it is the same as the pose information of the QR code to be laid. If they are the same, step S203 is executed; if they are not the same, the process returns to step S102, and the robot's pose is adjusted according to the pose information of the robot and the QR code to be laid, and the robot is controlled to move towards the location where the QR code to be laid.

[0090] S203. When the first pose information of the robot's coding unit is the same as the pose information of the QR code to be laid, control the robot to stop moving and lay the QR code.

[0091] When the first pose information of the robot's labeling unit matches the pose information of the QR code to be laid, the robot stops moving, and then the labeling unit lays the QR code. For example, the labeling unit takes out the printed QR code, applies adhesive or sprays glue on the back of the QR code, and moves vertically downwards to paste the QR code to the correct position on the ground according to the pose information of the QR code to be laid.

[0092] As described above, the automatic QR code laying method provided in this application first acquires first measurement data and determines the robot's pose information based on the first measurement data. The first measurement data includes robot pose measurement data collected by a laser tracker at a set position, and the pose information includes position information and heading angle information. Then, based on the robot's pose information and the pose information of the QR code to be laid, the robot is controlled to move towards the position of the QR code to be laid. When it is determined that the first pose information of the robot's code-applying unit is the same as the pose information of the QR code to be laid, the robot is controlled to stop moving and lay the QR code. Using the technical solution of this application, not only can the robot automatically lay QR codes, thus saving manpower, but also, by accurately determining the robot's pose information in real time, the robot can lay QR codes according to the preset pose information of the QR code to be laid, improving the laying accuracy of the QR codes.

[0093] As an optional implementation, the first measurement data mentioned in step S101 includes robot pose measurement data collected by a laser tracker at a set position. Step S101 obtains the first measurement data and determines the robot's pose information based on the first measurement data. Specifically, it may include: obtaining robot pose measurement data obtained by a laser tracker at a set position through tracking a reflector set on the robot, and determining the robot's pose information based on the robot pose measurement data collected by the laser tracker.

[0094] Based on the working principle of a laser tracker, it is a high-precision three-dimensional measurement system built on laser and automatic control technology. It consists of a rangefinder and two mutually perpendicular angle encoders. The laser tracker can emit a laser and control the emitted laser to track the movement of a reflector. After the laser hits the reflector, it returns to the laser tracker. The return beam is received by the detection system in the laser tracker, which can obtain the distance between the reflector and the laser tracker, as well as the pitch angle and azimuth angle of the reflector relative to the laser tracker.

[0095] Optionally, the laser tracker at the set position can be a single laser tracker positioned at a known fixed location, and the reflectors mounted on the robot can be two symmetrical reflectors mounted on the robot about its center point. The laser tracker can track the two reflectors separately for a very short time. In this case, the laser tracker can acquire the distances between the two reflectors and the laser tracker, as well as the pitch and azimuth angles of the two reflectors relative to the laser tracker, within a very short time. The distances between the two reflectors and the laser tracker, and the pitch and azimuth angles of the two reflectors relative to the laser tracker within this very short time, constitute the robot pose measurement data acquired by the laser tracker.

[0096] The laser tracker transmits the acquired robot pose measurement data to the robot's controller via a communication network. Based on the distances between the two reflectors and the laser tracker over a very short time period, as well as the pitch and azimuth angles of the two reflectors relative to the laser tracker, the robot's controller can obtain the position coordinates of the two reflectors in the laser tracker's coordinate system. Then, through a matrix transformation between the laser tracker's coordinate system and the world coordinate system, the position coordinates of the two reflectors in the world coordinate system can be obtained. Because the two reflectors are symmetrical about the robot's center point, the position coordinates of the robot's center point can be calculated, which are the robot's position coordinates. Based on the position coordinates of the two reflectors and the angle between the line connecting the two reflectors and the robot's forward direction, the robot's heading angle can be calculated.

[0097] Optionally, to improve the measurement accuracy of robot pose information, the laser tracker at the set position can be two laser trackers set at different known fixed positions, and the reflector set on the robot can be two reflectors symmetrical about the center point of the robot, with each laser tracker corresponding to one reflector, and the two laser trackers can track the corresponding reflectors at the same time.

[0098] In this scenario, two laser trackers can separately acquire the distances between the two reflectors and their respective laser trackers at the same moment, as well as the pitch and azimuth angles of the two reflectors relative to their respective laser trackers. From this, the position coordinates of the two reflectors in the corresponding laser tracker coordinate system can be obtained. Furthermore, through matrix transformations between the two laser tracker coordinate systems and the world coordinate system, the position coordinates of the two reflectors in the world coordinate system can be obtained, thus yielding the robot's position coordinates and heading angle.

[0099] It should be noted that the number of laser trackers and reflectors is not limited to the two optional implementation methods mentioned above; other configuration methods that can achieve the task of calculating robot pose information can also be used.

[0100] To further improve the accuracy of robot pose measurement, as an optional implementation, the first measurement data in step S101 includes not only the robot pose measurement data collected by the laser tracker at the set position, but also the robot pose measurement data collected by at least one of the IMU and encoder installed on the robot. Step S101 obtains the first measurement data and determines the robot's pose information based on the first measurement data, which may specifically include steps S1-S3:

[0101] S1. Obtain robot pose measurement data by the laser tracker at the set position, which tracks the reflector set on the robot.

[0102] For details, please refer to the explanation of step S101 above, which will not be repeated here.

[0103] S2. Acquire robot pose measurement data from at least one of the IMU and encoder installed on the robot.

[0104] Based on the working principle of an IMU (Integrated Mutor Unit), it is known that an IMU typically contains an accelerometer, a gyroscope, and a magnetometer, capable of collecting its own motion state information. If an IMU is installed on a robot, during the robot's movement, the accelerometer in the IMU can collect the robot's three-axis acceleration data, and the gyroscope in the IMU can collect the robot's three-axis angular velocity data. These three-axis acceleration and angular velocity data constitute the robot's pose measurement data collected by the IMU. Integrating the obtained three-axis acceleration and angular velocity data over time determines the robot's relative position and angle changes over a period of time. For example, the robot's pose at time t is (x... t y t θ t Using the triaxial acceleration and triaxial angular velocity data collected by the IMU, the robot's measured pose (x, y, t) at time t+1 can be derived. t+1 y t+1 θ t+1 ).

[0105] Based on the working principle of an encoder, it can convert angular displacement on a code disk or linear displacement on a code ruler into electrical signals. Taking a wheel encoder as an example, a wheel encoder can convert angular displacement on a code disk into electrical signals. If an encoder is installed on a robot, during the robot's movement, the encoder can collect the number of radians rotated by the robot's walking unit within a certain period of time, that is, the robot's pose measurement data collected by the encoder. By sampling and integrating the data collected by the encoder, the robot's relative displacement and motion over a period of time can be determined.

[0106] Specifically, the robot is equipped with an IMU and / or encoder, and the IMU and / or encoder are connected to the robot's controller for communication. The IMU and encoder send the collected robot pose measurement data to the robot's controller.

[0107] S3. The robot pose measurement data collected by the laser tracker and the robot pose measurement data collected by at least one of the IMU and the encoder are fused together, and the robot pose information is determined based on the fused data.

[0108] The data fusion mentioned above can be understood as multi-sensor data fusion, which integrates local data resources provided by multiple similar or different types of sensors distributed in different locations, analyzes them using computer technology, eliminates redundancy and contradictions that may exist between multi-sensor information, complements them, reduces their uncertainty, and obtains a consistent interpretation and description of the measured object, thereby improving the speed and accuracy of system decision-making, planning, and response, and enabling the system to obtain more comprehensive information.

[0109] Specifically, after receiving robot pose measurement data collected by the laser tracker, as well as robot pose measurement data collected by at least one of the IMU and encoder, the robot controller uses a multi-sensor data fusion algorithm to perform data fusion processing on the collected robot pose measurement data, and determines the robot's pose information based on the fused data.

[0110] Optionally, the multi-sensor data fusion algorithm can be the EKF (Extended Kalman Filter) algorithm. The robot controller calculates the robot's position coordinates and heading angle based on the robot pose measurement data collected by the laser tracker, integrates the robot pose measurement data collected by at least one of the IMU and encoder, and then uses the integral result of the robot pose measurement data collected by at least one of the IMU and encoder as the state variable solution prediction part. The robot's position coordinates and heading angle calculated based on the robot pose measurement data collected by the laser tracker are used as observation values ​​for data fusion processing to calculate the robot's pose information after data fusion.

[0111] To further improve positioning accuracy and avoid errors in the first pose information of the QR code affixing unit due to uncertain factors, this application provides another method for automatically laying QR codes. Figure 3 A flowchart illustrating another method for automatically laying QR codes provided in this application embodiment is shown below. Figure 3 As shown, after determining that the first pose information of the robot's barcode-applying unit is the same as the pose information of the QR code to be applied, and controlling the robot to stop moving, the method for automatically applying the QR code further includes steps S304-S307:

[0112] S304. Acquire second measurement data and determine the second pose information of the robot coding unit based on the second measurement data; the second measurement data includes pose measurement data of the robot coding unit collected by sensors installed on the robot.

[0113] The second measurement data refers to the pose measurement data of the robot coding unit collected by the sensor, wherein the pose measurement data of the robot coding unit refers to the measurement data related to the pose of the robot coding unit.

[0114] The sensor can be any sensor other than the IMU, encoder, and laser tracker that is installed on the robot. Preferably, the sensor is installed on the robot's labeling unit.

[0115] The sensor is communicatively connected to the robot's controller, and can send the pose measurement data of the robot's coding unit collected by the sensor to the robot's controller. After receiving the second measurement data sent by the sensor, the robot's controller can determine the second pose information of the robot's coding unit based on the second measurement data.

[0116] As an optional implementation, the sensor mounted on the robot can be an image acquisition sensor. In this case, the second measurement data includes the image of the marker line acquired by the image sensor mounted on the robot. The marker line refers to the yellow marking line set up in the workshop or factory when the QR code laying site is a workshop or factory building, and the QR code to be laid is placed near the yellow marking line. The image acquisition sensor can be a depth camera.

[0117] After acquiring the marked line image sent by the image acquisition sensor, the robot's controller determines the second pose information of the robot's coding unit based on the second measurement data, which may specifically include:

[0118] The feature points or feature lines in the marked line image are matched with feature points or feature lines in the preset map to determine the second pose information of the robot's coding unit.

[0119] The preset map refers to a new map of marker lines generated based on the positional information of the marker lines within the QR code paving site and an existing electronic map of the QR code paving site. The electronic map of the QR code paving site can be a CAD map.

[0120] After acquiring the marked line image collected by the image sensor, the robot controller can obtain the feature lines of the marked lines in the current frame or key frame through methods such as inverse perspective transformation, feature extraction, and edge detection. The feature lines can be discretized into points to obtain feature points. The obtained feature lines or feature points of the marked lines are matched with the feature lines or feature points in the preset map by ICP matching to obtain the second pose information of the robot's coding unit.

[0121] Optionally, the second pose information of the robot's coding unit can be obtained by vector multiplying the feature lines of the acquired marking lines with the marking line map.

[0122] As an optional implementation, the sensor mounted on the robot can be a lidar, in which case the second measurement data includes the laser point cloud collected by the lidar mounted on the robot. After acquiring the laser point cloud sent by the lidar, the robot controller determines the second pose information of the robot's coding unit based on the second measurement data, which may specifically include:

[0123] The point cloud data is registered with a preset high-precision map to determine the second pose information of the robot's coding unit.

[0124] The preset high-precision map can be understood as a high-precision point cloud map formed by scanning and mapping the QR code laying site using LiDAR before executing this method. After acquiring the laser point cloud data collected by the LiDAR, the robot controller performs point cloud registration between the laser point cloud data collected by the LiDAR and the high-precision map using the NDT algorithm to obtain the second pose information of the robot's coding unit. Optionally, the pose information of the robot's coding unit calculated after point cloud registration between the laser point cloud data collected by the LiDAR and the high-precision map can be fused with the pose information collected by the IMU and / or encoder to obtain the second pose information of the robot's coding unit with higher measurement accuracy.

[0125] As an alternative implementation, the sensor mounted on the robot can be a combination of an image acquisition sensor and a LiDAR. Optionally, both sensors can be used in conjunction to acquire the second measurement data; that is, one method is used as the preferred method to acquire the second measurement information, and if the preferred method becomes unavailable, the other method is used to acquire the second measurement information. Optionally, both sensors can be used simultaneously to acquire the second measurement data, and the second measurement data acquired by the two sensors can be fused to determine the second pose information of the robot's barcode-applying unit. This implementation method can further adapt to the environment of the QR code laying site, improve the ability to handle various emergencies, and further improve the measurement accuracy of the second pose information of the robot's barcode-applying unit.

[0126] S305. Determine whether the second pose information of the robot's code-applying unit is the same as the pose information of the QR code to be applied.

[0127] After determining the second pose information of the robot's barcode-applying unit based on the second measurement data, it is determined whether the second pose information of the robot's barcode-applying unit is the same as the pose information of the QR code to be applied. If they are the same, step S306 is executed; if they are not the same, step S307 is executed.

[0128] S306. If the second pose information of the robot's code-applying unit is the same as the pose information of the QR code to be laid, then the QR code is laid.

[0129] If the second pose information of the robot's code-applying unit is the same as the pose information of the QR code to be laid, then the code-applying unit is controlled to lay the QR code on the ground according to the pose information of the QR code to be laid.

[0130] S307. If the second pose information of the robot's code-applying unit is different from the pose information of the QR code to be applied, then the robot's pose is adjusted.

[0131] If the second pose information of the robot's code-applying unit is different from the pose information of the QR code to be laid, the robot's pose is adjusted according to the second pose information of the robot's code-applying unit and the pose information of the QR code to be laid, and then the process returns to step S305 until the second pose information of the robot's code-applying unit is the same as the pose information of the QR code to be laid, and then the QR code is laid.

[0132] Figure 3 Steps S301-S303 in the illustrated embodiment are Figure 1 Steps S101-S103 in the illustrated embodiment correspond to each other. For details of steps S301-S303, please refer to [link / reference]. Figure 1 The details of the embodiments shown will not be repeated here.

[0133] When the robot moves within the QR code laying area, it may encounter obstacles that affect its operation. As an optional implementation, the automatic QR code laying method further includes steps A1-A4:

[0134] A1. During the process of controlling the robot to move towards the location where the QR code is to be laid, detect whether there are obstacles in the robot's forward direction.

[0135] The detection of whether there is an obstacle in the robot's forward direction can be understood as detecting whether there is an obstacle within a preset range in the robot's forward direction. The preset range is determined according to the actual working conditions, and this application does not limit it.

[0136] Optionally, the robot is equipped with a detection sensor capable of detecting obstacles and confirming the relative position of the obstacles to the robot. The detection sensor can be a camera, a lidar sensor, or other sensors capable of performing related functions; this application does not limit its application in this regard. As for the specific implementation method of using the detection sensor to detect whether there are obstacles within a preset range in the robot's forward direction, it can be implemented with reference to relevant existing technologies; this application does not limit its application in this regard.

[0137] During the process of controlling the robot to move towards the location where the QR code is to be laid, if an obstacle is detected in the direction the robot is moving forward, step A2 is executed; if no obstacle is detected in the direction the robot is moving forward, the robot is controlled to continue moving towards the location where the QR code is to be laid according to the previously planned movement path.

[0138] A2. When it is determined that there is an obstacle in the direction the robot is moving, determine whether the obstacle is located at the position of the QR code to be laid.

[0139] When an obstacle is detected in the robot's forward direction, the obstacle's position information is determined based on the robot's pose information and the relative position between the obstacle and the sensor collected by the detection sensor. This obstacle's position information is then compared with the position information of the QR code to be laid. If the obstacle's position information matches the QR code's position information, the obstacle is determined to be located at the QR code's position, and step A3 is executed; if the obstacle's position information does not match the QR code's position information, the obstacle is determined not to be located at the QR code's position, and step A4 is executed.

[0140] A3. If the obstacle is located at the position where the QR code to be laid is to be installed, an alarm message will be generated.

[0141] If an obstacle is detected at the location where the QR code is to be laid, the robot stops moving and generates an alarm message. The alarm message can be a voice prompt, a buzzer, a light prompt, or a text prompt. The alarm message can be displayed on the robot itself or on a smart device or system that is connected to the robot.

[0142] A4. If the obstacle is not located at the position of the QR code to be laid, control the robot to change its direction of travel.

[0143] If an obstacle is detected within a preset range in the robot's forward direction, and the obstacle is not located at the position where the QR code is to be laid, the previously planned motion path is adjusted, and the robot is controlled to change its forward direction to avoid the obstacle.

[0144] As an optional implementation, if the robot lays the QR codes by pasting pre-printed QR codes, the QR codes to be laid can be pre-printed and placed in the robot according to the laying order before the robot executes the QR code laying method provided in this application embodiment; or the robot can print the corresponding QR codes after it stops moving to prepare for laying. Preferably, during the process of controlling the robot to move towards the location of the QR codes to be laid, the robot is controlled to print the QR codes to be laid and record the ID information of the QR codes to be laid, or the robot is controlled to print the QR codes to be laid based on the determined ID information, which can further save manpower and improve the overall efficiency of the QR code laying work.

[0145] Corresponding to the above-described method for automatically laying QR codes, this application also provides an apparatus for automatically laying QR codes. Figure 4 This is a schematic diagram of the structure of an automatic QR code laying device provided in an embodiment of this application, as shown below. Figure 4 As shown, the device for automatically laying out QR codes may include:

[0146] The first unit 401 is used to acquire first measurement data and determine the robot's pose information based on the first measurement data; the first measurement data includes robot pose measurement data collected by a laser tracker at a set position, and the pose information includes position information and heading angle information;

[0147] The second unit 402 is used to control the robot to move toward the position of the QR code to be laid according to the robot's pose information and the pose information of the QR code to be laid.

[0148] The third unit 403 is used to control the robot to stop moving and lay the QR code when it is determined that the first pose information of the robot's code-applying unit is the same as the pose information of the QR code to be laid.

[0149] The automatic QR code laying device provided in this application embodiment can acquire first measurement data through a first unit 401 and determine the robot's pose information based on the first measurement data. The first measurement data includes robot pose measurement data collected by a laser tracker at a set position, and the pose information includes position information and heading angle information. Then, the second unit 402 controls the robot to move towards the position of the QR code to be laid based on the robot's pose information and the pose information of the QR code to be laid. Finally, the third unit 403 controls the robot to stop moving and lay the QR code when it is determined that the first pose information of the robot's code-applying unit is the same as the pose information of the QR code to be laid. By adopting the technical solution of this application, not only can the robot automatically lay QR codes, thereby saving manpower, but also the robot can lay QR codes according to the preset pose information of the QR code to be laid by accurately determining the robot's pose information in real time, thereby improving the laying accuracy of QR codes.

[0150] Optionally, the first measurement data further includes robot pose measurement data acquired by at least one of the IMU and encoder installed on the robot; the first unit 401 can specifically be used for:

[0151] The robot pose measurement data collected by the laser tracker and the robot pose measurement data collected by at least one of the IMU and the encoder are fused together, and the robot pose information is determined based on the fused data.

[0152] Optionally, the third unit 403 can be specifically used for:

[0153] Based on the robot's pose information, determine the first pose information of the robot's coding unit;

[0154] Determine whether the first pose information of the robot's code-applying unit is the same as the pose information of the QR code to be applied;

[0155] If they match, control the robot to stop moving and lay out the QR code.

[0156] Optionally, the automatic QR code laying device provided in this application embodiment further includes a fourth unit, which can be specifically used for:

[0157] After the robot stops moving, second measurement data is acquired, and second pose information of the robot's coding unit is determined based on the second measurement data; the second measurement data includes pose measurement data of the robot's coding unit collected by sensors installed on the robot.

[0158] Determine whether the second pose information of the robot's code-applying unit is the same as the pose information of the QR code to be applied;

[0159] If the second pose information of the robot's code-applying unit is the same as the pose information of the QR code to be applied, then the QR code is applied.

[0160] If the second pose information of the robot's code-applying unit is different from the pose information of the QR code to be laid, the robot's pose is adjusted, and the QR code is laid when the second pose information of the robot's code-applying unit is the same as the pose information of the QR code to be laid.

[0161] Optionally, the second measurement data includes the marked line image acquired by the image sensor mounted on the robot, and the fourth unit can specifically be used for:

[0162] The feature points or feature lines in the marked line image are matched with the feature points or feature lines in the preset map to determine the second pose information of the robot's coding unit;

[0163] And / or,

[0164] The second measurement data includes point cloud data collected by a lidar mounted on the robot, and the fourth unit can specifically be used for:

[0165] The point cloud data is registered with a preset high-precision map to determine the second pose information of the robot's coding unit.

[0166] Optionally, the automatic QR code laying device provided in this application embodiment further includes an obstacle avoidance unit, which can be specifically used for:

[0167] During the process of controlling the robot to move towards the location where the QR code is to be laid, the presence of obstacles within a preset range in the direction of the robot's movement is detected;

[0168] When it is determined that there is an obstacle within a preset range in the robot's forward direction, it is determined whether the obstacle is located at the position of the QR code to be laid;

[0169] If the obstacle is located at the position where the QR code to be laid is to be generated, an alarm message is generated.

[0170] If the obstacle is not located at the position where the QR code is to be laid, control the robot to change its direction of travel.

[0171] Optionally, the automatic QR code laying device provided in this application embodiment further includes a printing unit, which can be specifically used for:

[0172] During the process of controlling the robot to move to the location where the QR code is to be laid, the robot prints the QR code to be laid and records the ID information of the QR code to be laid.

[0173] The apparatus for automatically laying QR codes provided in this application belongs to the same concept as the method for automatically laying QR codes provided in the above-mentioned embodiments of this application. It can execute the method for automatically laying QR codes provided in any of the above-mentioned embodiments of this application and has the corresponding functional modules and beneficial effects of the method for automatically laying QR codes. Technical details not described in detail in this embodiment can be found in the specific processing content of the method for automatically laying QR codes provided in the above-mentioned embodiments of this application, and will not be repeated here.

[0174] This application also provides a robot, see [link to relevant documentation] Figure 5 As shown, the robot includes:

[0175] Memory 200 and processor 210;

[0176] The memory 200 is connected to the processor 210 and is used to store programs;

[0177] The processor 210 is configured to implement the method for automatically laying QR codes disclosed in any of the above embodiments by running the program stored in the memory 200.

[0178] Specifically, the robot may also include: a bus, a communication interface 220, an input device 230, and an output device 240.

[0179] The processor 210, memory 200, communication interface 220, input device 230, and output device 240 are interconnected via a bus. Among them:

[0180] A bus can include a pathway for transmitting information between various components of a computer system.

[0181] Processor 210 can be a general-purpose processor, such as a general-purpose central processing unit (CPU), a microprocessor, etc., or an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of the present invention. It can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0182] Processor 210 may include a main processor, as well as a baseband chip, modem, etc.

[0183] The memory 200 stores a program that executes the technical solution of this invention, and may also store an operating system and other key business functions. Specifically, the program may include program code, which includes computer operation instructions. More specifically, the memory 200 may include read-only memory (ROM), other types of static storage devices capable of storing static information and instructions, random access memory (RAM), other types of dynamic storage devices capable of storing information and instructions, disk storage, flash memory, etc.

[0184] Input device 230 may include a device for receiving user input data and information, such as a keyboard, mouse, camera, scanner, light pen, voice input device, touch screen, pedometer, or gravity sensor.

[0185] Output device 240 may include devices that allow information to be output to a user, such as a display screen, printer, speaker, etc.

[0186] The communication interface 220 may include a device that uses any transceiver to communicate with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Network (WLAN), etc.

[0187] The processor 210 executes the program stored in the memory 200 and calls other devices, which can be used to implement the various steps of any of the automatic QR code laying methods provided in the above embodiments of this application.

[0188] This application also provides a system for automatically laying out QR codes, such as... Figure 6 As shown, the system for automatically laying out QR codes includes:

[0189] The robot 601 and the laser tracker 602 with a set position are provided, wherein the robot 601 is equipped with a controller 603 and a reflector 604;

[0190] The controller 603 on the robot is used to execute the various steps of any of the automatic QR code laying methods provided in the above embodiments of this specification, specifically implementing the following steps:

[0191] S101. Obtain first measurement data and determine the robot's pose information based on the first measurement data; the first measurement data includes robot pose measurement data collected by a laser tracker at a set position, and the pose information includes position information and heading angle information.

[0192] S102. Based on the robot's pose information and the pose information of the QR code to be laid, control the robot to move towards the position of the QR code to be laid.

[0193] S103. When it is determined that the first pose information of the robot's coding unit is the same as the pose information of the QR code to be laid, the robot is controlled to stop moving and the QR code is laid.

[0194] The laser tracker 602 is communicatively connected to the controller 603 of the robot 601.

[0195] For example, embodiments of this application also provide another system for automatically laying out QR codes, such as... Figure 7 As shown, the automatic QR code laying system includes: a robot 701, a laser tracker 702 positioned at a set location, a human-computer interaction system 703, and a communication system 704, wherein...

[0196] Robot 701 includes a main computing unit, a positioning unit, a walking unit, an obstacle avoidance unit, a printing unit, a cleaning unit, a labeling unit, and a remote control unit.

[0197] The main computing unit of the robot 701 is used to execute each step of any of the automatic QR code laying methods provided in the above embodiments of this specification. The main computing unit can be an industrial control computer, an embedded controller, etc.

[0198] The laser tracker 702 is used to track the two prisms in the positioning unit set on the robot 701 in real time, collect the pose measurement data of the robot 701, and send the collected pose measurement data to the main computing unit of the robot 701 through the communication system 704.

[0199] The positioning unit of the robot 701 includes:

[0200] Two prisms are set on the robot, symmetrically arranged about the center point of the robot, and the direction of the line connecting the two prisms is the same as the direction of the robot's movement.

[0201] Two gimbals connected between the prism and the robot are used to ensure the stability of the prism and improve the measurement accuracy of the robot 701's pose.

[0202] IMU sensors and encoders are used to collect pose measurement data of robot 701 in real time and send the collected pose measurement data to the main computing unit.

[0203] The camera is used to capture the image of the marking line after determining that the first pose information of the marking unit of robot 701 is the same as the pose information of the QR code to be laid, and after controlling robot 701 to stop moving, and sends the captured image of the marking line to the main computing unit.

[0204] The locomotion unit is used to realize the movement of robot 701 under the control of the main computing unit. The locomotion unit can adopt a wheeled system, such as a differential wheel system, a steering wheel system, or a Mecanum wheel system.

[0205] The obstacle avoidance unit is used to detect whether there are obstacles within a preset range in the forward direction of the robot 701 during the movement of the robot 701 towards the location where the QR code is to be laid, and when it is determined that there are obstacles within the preset range in the forward direction of the robot 701, to determine whether the obstacle is located at the location where the QR code is to be laid, and if the obstacle is located at the location where the QR code is to be laid, to generate an alarm message, and if the obstacle is not located at the location where the QR code is to be laid, to control the robot 701 to change its forward direction. The obstacle avoidance unit may include anti-collision strips and one of a camera or a lidar.

[0206] The printing unit is used to print the QR code to be laid and record its ID information during the movement of the robot 701 controlled by the main computing unit towards the location where the QR code is to be laid, or to print the QR code to be laid based on the already determined ID information. The printing unit may include a printer and printing material, which may be a thin material suitable for printing, such as a sticker, a small piece of metal, or a plastic sheet.

[0207] The cleaning unit is used to clean the area where the QR code to be laid is to be placed before pasting it. The cleaning unit may include a brush or a scraper.

[0208] The labeling unit is used to spray or apply glue to the printed QR code and paste the QR code in the correct position according to the position information of the QR code to be laid.

[0209] The remote control unit may include a remote controller and a receiver.

[0210] The human-machine interaction system 703 includes a human-machine interaction platform, which can be installed on the robot 701 or on other terminal devices such as smartphones, tablets, and laptops that are communicatively connected to the robot 701. The human-machine interaction platform is equipped with human-machine interaction software, which can be used to import electronic maps of the workshop, warehouse, or other spaces where the QR code to be laid is located, mark the pose of the QR code to be laid on the electronic map, calculate the pose information of the QR code to be laid on the electronic map, and transmit the pose information of the QR code to be laid on the electronic map to the main computing unit of the robot 701, or export the pose information document of the QR code to be laid on the electronic map and import the pose information document of the QR code to be laid on the electronic map into the main computing unit of the robot 701 via a USB flash drive.

[0211] The communication system 704 is used to realize communication between the laser tracker 702 and the main computing unit of the robot 701, and between the human-machine interaction system 703 and the main computing unit of the robot 701. The communication method can be wired communication, wireless communication, or a combination of wired and wireless communication. Optionally, the communication method is network communication, such as WiFi, 4G, 5G, or other network communication methods. Optionally, in cases where the system's working area is small or the network signal is poor, the communication method can be radio, Bluetooth, or other radio communication methods.

[0212] In addition to the methods and devices described above, embodiments of this application may also be computer program products, which include computer program instructions that, when executed by a processor, cause the processor to perform the steps of the method for automatically laying QR codes described in any of the embodiments provided in this specification.

[0213] The computer program product can be written in any combination of one or more programming languages ​​to perform the operations of the embodiments of this application. The programming languages ​​include object-oriented programming languages ​​such as Java and C++, as well as conventional procedural programming languages ​​such as C or similar languages. The program code can be executed entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0214] Furthermore, embodiments of this application may also be storage media storing a computer program, which is executed by a processor to perform the steps of the automatic QR code laying method described in any embodiment provided in this specification, specifically implementing the following steps:

[0215] S101. Obtain first measurement data and determine the robot's pose information based on the first measurement data; the first measurement data includes robot pose measurement data collected by a laser tracker at a set position, and the pose information includes position information and heading angle information.

[0216] S102. Based on the robot's pose information and the pose information of the QR code to be laid, control the robot to move towards the position of the QR code to be laid.

[0217] S103. When it is determined that the first pose information of the robot's coding unit is the same as the pose information of the QR code to be laid, the robot is controlled to stop moving and the QR code is laid.

[0218] For the foregoing method embodiments, in order to simplify the description, they are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, because according to this application, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to this application.

[0219] It should be noted that the various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For apparatus embodiments, since they are basically similar to method embodiments, the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.

[0220] The steps in the methods of the various embodiments of this application can be adjusted, merged, or deleted in order according to actual needs, and the technical features described in each embodiment can be replaced or combined.

[0221] The modules and sub-modules in the various embodiments of the present application's devices and terminals can be merged, divided, and deleted according to actual needs.

[0222] It should be understood that the disclosed terminals, devices, and methods can be implemented in other ways, given the several embodiments provided in this application. For example, the terminal embodiments described above are merely illustrative. For instance, the division of modules or sub-modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple sub-modules or modules may be combined or integrated into another module, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or modules, and may be electrical, mechanical, or other forms.

[0223] The modules or submodules described as separate components may or may not be physically separate. The components that constitute a module or submodule may or may not be physical modules or submodules; that is, they may be located in one place or distributed across multiple network modules or submodules. Some or all of the modules or submodules can be selected to achieve the purpose of this embodiment's solution, depending on actual needs.

[0224] Furthermore, the functional modules or sub-modules in the various embodiments of this application can be integrated into one processing module, or each module or sub-module can exist physically separately, or two or more modules or sub-modules can be integrated into one module. The integrated modules or sub-modules described above can be implemented in hardware or in the form of software functional modules or sub-modules.

[0225] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0226] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software unit executed by a processor, or a combination of both. The software unit can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.

[0227] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0228] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A method for automatically laying out QR codes, characterized in that, include: Acquire first measurement data and determine the robot's pose information based on the first measurement data; the first measurement data includes robot pose measurement data collected by a laser tracker at a set position, and the pose information includes position information and heading angle information; Based on the robot's pose information and the pose information of the QR code to be laid, the robot is controlled to move towards the location of the QR code to be laid. When it is determined that the first pose information of the robot's labeling unit is the same as the pose information of the QR code to be laid, the robot is controlled to stop moving and the QR code is laid. The first measurement data also includes robot pose measurement data acquired by at least one of the IMU and encoder installed on the robot; Determining the robot's pose information based on the first measurement data includes: The robot pose measurement data collected by the laser tracker and the robot pose measurement data collected by at least one of the IMU and the encoder are fused together, and the robot pose information is determined based on the fused data.

2. The method according to claim 1, characterized in that, The step of controlling the robot to stop moving and laying the QR code when it is determined that the first pose information of the robot's coding unit is the same as the pose information of the QR code to be laid includes: Based on the robot's pose information, determine the first pose information of the robot's coding unit; Determine whether the first pose information of the robot's code-applying unit is the same as the pose information of the QR code to be applied; If they match, control the robot to stop moving and lay out the QR code.

3. The method according to claim 1, characterized in that, The method further includes: After the robot stops moving, second measurement data is acquired, and second pose information of the robot's coding unit is determined based on the second measurement data; the second measurement data includes pose measurement data of the robot's coding unit collected by sensors installed on the robot. Determine whether the second pose information of the robot's code-applying unit is the same as the pose information of the QR code to be applied; If the second pose information of the robot's code-applying unit is the same as the pose information of the QR code to be applied, then the QR code is applied. If the second pose information of the robot's code-applying unit is different from the pose information of the QR code to be laid, the robot's pose is adjusted, and the QR code is laid when the second pose information of the robot's code-applying unit is the same as the pose information of the QR code to be laid.

4. The method according to claim 3, characterized in that, The second measurement data includes the marked line image acquired by the image sensor mounted on the robot. Determining the second pose information of the robot's coding unit based on the second measurement data includes: The feature points or feature lines in the marked line image are matched with the feature points or feature lines in the preset map to determine the second pose information of the robot's coding unit; And / or, The second measurement data includes point cloud data collected by a lidar mounted on the robot. Determining the second pose information of the robot's coding unit based on the second measurement data includes: The point cloud data is registered with a preset high-precision map to determine the second pose information of the robot's coding unit.

5. The method according to claim 1, characterized in that, The method further includes: During the process of controlling the robot to move toward the location where the QR code is to be laid, the presence of obstacles in the robot's forward direction is detected. When it is determined that there is an obstacle in the robot's forward direction, it is determined whether the obstacle is located at the position of the QR code to be laid; If the obstacle is located at the position where the QR code to be laid is to be installed, an alarm message will be generated; If the obstacle is not located at the position where the QR code to be laid is to be placed, the robot is controlled to change its direction of travel.

6. The method according to claim 1, characterized in that, The method further includes: During the process of controlling the robot to move to the location where the QR code to be laid is to print the QR code to be laid and record the ID information of the QR code to be laid.

7. A device for automatically laying out QR codes, characterized in that, include: The first unit is used to acquire first measurement data and determine the robot's pose information based on the first measurement data. The first measurement data includes robot pose measurement data collected by a laser tracker at a set position, and the pose information includes position information and heading angle information. The first measurement data also includes robot pose measurement data collected by at least one of an IMU and an encoder installed on the robot. Determining the robot's pose information based on the first measurement data includes: fusing the robot pose measurement data collected by the laser tracker and the robot pose measurement data collected by at least one of the IMU and the encoder, and determining the robot's pose information based on the fused data. The second unit is used to control the robot to move toward the position of the QR code to be laid, based on the robot's pose information and the pose information of the QR code to be laid. The third unit is used to control the robot to stop moving and lay the QR code when it is determined that the first pose information of the robot's code-applying unit is the same as the pose information of the QR code to be laid.

8. The apparatus according to claim 7, characterized in that, The device further includes an obstacle avoidance unit and / or a printing unit, wherein... The obstacle avoidance unit is used to detect whether there are obstacles in the robot's forward direction during the process of controlling the robot to move towards the location where the QR code is to be laid; When it is determined that there is an obstacle in the robot's forward direction, it is determined whether the obstacle is located at the position of the QR code to be laid; If the obstacle is located at the position where the QR code to be laid is to be generated, an alarm message is generated. If the obstacle is not located at the position where the QR code is to be laid, control the robot to change its direction of travel; The printing unit is used to control the robot to print the QR code to be laid and record the ID information of the QR code to be laid during the process of controlling the robot to move to the location of the QR code to be laid.

9. A robot, characterized in that, include: A processor, and a memory connected to the processor; The memory is used to store computer programs; The processor is used to call and execute the computer program in the memory to perform the method of automatically laying QR codes as described in any one of claims 1-6.

10. A system for automatically laying out QR codes, characterized in that, include: A robot, and a laser tracker positioned at a specific location, wherein the robot is equipped with a controller and a reflector; The controller on the robot is used to perform the method of automatically laying out QR codes as described in any one of claims 1-6.

Citation Information

Patent Citations

  • System and method for correcting code laying error by using laser

    CN106091924A

  • Positioning code pasting method and device, computer equipment and storage medium

    CN113409401A