Help Center
Special topic on two-dimensional code navigation

Firstly, the principle of positioning two-dimensional codes

This tutorial is aimed at mobile robots that use a Sengok Smart SRC controller and install a lower view-reader camera.
Two-dimensional code positioning on the ground is a conventional positioning method for mobile robots. Firstly, QR codes need to be laid out on the environment ground in advance. Each QR code has its globally unique ID and is bound to the plane physical coordinates of the scene. When the robot's down-reading code camera captures the two-dimensional code, the robot can obtain the global coordinates and orientation of the current moment by analyzing the code information, as well as the position and angle deviation between the camera and the two-dimensional code.

After the two-dimensional code is arranged in the scene and the two-dimensional code map is generated, the map in Roboshop will look like the following:

When the movement path of the robot passes through the two-dimensional code, the deviation of the robot relative to the two-dimensional code can be read by the visual reader, and the current position of the robot can be corrected. On the path between the two two-dimensional codes, the robot uses its own mileage and IMU data fusion to conduct relative positioning.

Secondly, Introduction of Code Reading Camera

2.1 Description of Principles

A code-reading camera is essentially a type of camera that directly identifies QR codes, rather than providing raw data.

  • Camera position relative to QR code, X and Y directional offset, and angle offset.

  • Displays the ID of the QR code tag.

Note: PGV is simply a QR code camera product from Pepperl + Fuku. Other suppliers offer similar features. The current claim that the PGV will replace QR code cameras is inaccurate.


2.2 Selection Comparison

Brand

Model Number

Interface

Fill Light Mode

Mounting Height
(Distance between Scanner and 2D Code)

Precision Error
(X, Y Coordinates/Angles)

Supported Controllers

Degree of Recommendation

Usage Precautions

Double plus fortune

PGV100-F200A-R4-V19

RS485 (supports single-bus multi-device)

Built-in light source, white visible light

100 mm ± 20 mm

±0.2mm / ±0.1°

SRC-800/2000/3000

In

Supports only Peplus Fuku tag 4x4 Tag Standard Version with eight digits

Double Plus Fortune

PGV100R - F200 - R4-1, 5 M

RS485 (supports single-bus multi-device)

Equipped with its own light source, red visible light

100 mm ± 30 mm

±0.2mm / ±0.1°

SRC-800/2000/3000

High

Supports Double Plus Fu standard version with eight digits; Double Plus Fu extended edition with fourteen digits (directly supported, no configuration required)

Ill

GLS100 series

RS485 (supports single-bus multi-device)

Equipped with its own light source, visible light

100 mm ± 10 mm

±0.1mm / ±0.1°

SRC2000

Low

Uses Sick's special QR code

Hikon

MV-IM5005-02MWG

RS485 (does not support single-bus multi-device)

Equipped with its own visible light source

100 mm ± 20 mm

±1mm (consistent with z values in the model file) / ±0.1°

SRC2000

Within the

The output coordinates are in pixel values, which need to be converted into coordinate values based on the height value filled in the model file. Therefore, the output precision unit is the same as the height filled in the model file. In case of uneven ground, the output accuracy may be reduced.

Dahua

MV-R3138MG010

RS485 (does not support single-bus multi-device)

Equipped with its own visible light source

100 mm ± 20 mm

0.1mm / 0.1°

SRC-800/2000/3000

high

Only supports Peplus Fuku tag 4x4 Tag Standard Version with eight digits

Dappa

DB-PC-A1D6 (top view)

RS485 (does not support single-bus multi-device)

No built-in light source

3 meters to 4 meters

±20mm (related to installation height and two-dimensional code global coordinate accuracy)

SRC2000

In use

Use Dappa's special QR code, QR code size is larger than 13cm * 13cm

2.3 Parameter Configuration

Before using the reader camera, it requires specialized upper computer software for parameter configuration. Let's take PGV as an example. The configuration items are listed below:

  • Communication baud rate

  • Parity check

  • Device address (ID)

  • Communication mode

  • Light intensity

  • Two-dimensional code size

For a camera that reads codes and has its own light source, if the lighting intensity is set too high, the camera may not be able to accurately recognize the two-dimensional code.

2.4 Function Description

2.4.1 Location

Application Scenario:
Utilizing two-dimensional code positioning technology for robot path navigation.
Note:

  • Ensure that the camera is within the specified height range above the ground to avoid unrecognized data.

  • Avoid having multiple QR codes in the same field of view when using camera positioning.

  • Use a special level to ensure the accuracy of the two-dimensional code.

  • Stained or wrinkled QR codes may cause accuracy issues for the robot.

  • QR code positioning can be used for all models except for the single wheel car, including wheat wheel, double wheel differential, and double wheel.

Parameter Name

Parameter Position

Unit

Default Value

List

Supported Version

Localization

Model File -pgv-func

-

Adjust

  • Adjust

  • Localization

  • Adjust Localization

3.3.4.20 ~ Latest

Use QR Codes for Robot Navigation

2.4.2 Fine-tuning

Usage scenario:

  1. The downward-facing camera is utilized for precise docking between the robot and the line and edge mechanism. The coordinate accuracy is ±2mm and the orientation angle accuracy is 0.1°. The robot can fine-tune its position.

  2. An upward-facing camera is used for drilling into the shelf and pointing upwards at the shelf.

  3. The upper view camera is employed to ensure that the shelf angle is not biased during movement.

Attention:

  • 1. The usage mode of the scene has a problem with multi-vehicle consistency. Even if the robot arrives at the point with high accuracy, the accuracy of its end-effector cannot be guaranteed. It can be optimized by placing the camera on a terminal mechanism, such as a tank car.

  • Scenarios 2 and 3 arenot recommended.

    • The problem in scenario 2 can be solved by identifying the legs of the shelf.

    • The problem in scenario 3 can be solved by increasing the friction coefficient of the contact surface between the jacking vehicle and the shelf to prevent slipping.

Parameter Name

Parameter Position

Unit

Default Value

List

Supported Version

Adjust

Model File -pgv-func

-

Adjust

  • Adjust

  • Localization

  • Adjust Localization

3.3.4.20 ~ Latest

When the robot reaches the target point, it makes adjustments according to the position of the QR code.

2.4.3 Parameters Returned by the Sensor

Information of Two-dimensional Code

Unit

Remarks

tag_diff_x

m

Deviation in X-direction

tag_diff_y

m

Deviation in Y-direction

tag_diff_angle

radian

Angle Deviation

tag_value

-

QR Code Tag Number

warning_code

-

Alarm Code Read by Camera

device_address

-

Reader Camera Device Address (Same as Model File ID)

is_DMT_detected

-

Recognition of Two-dimensional Code

error_code

-

Error Code Read by Camera

2.5 Installation and Configuration of the Reader Camera

For the configuration method, please refer to:
Dappa
SICK code reader camera
Pepplus Plus code reader camera
Dahua code reader camera

III. Deployment of PGV Two-Dimensional Code

PGV is a unique code-reading camera that can capture and interpret QR code data, providing feedback on the position and angle deviation between the device center and the QR code center. This section outlines the requirements for QR codes when using PGV.

3.1 Classification of PGV Two-dimensional code

1. Type by application scenario

  • Navigation using QR code: The robot does not have a navigation laser and instead uses a camera to read QR codes on the ground for navigation.

  • Secondary positioning using QR code: The robot is equipped with a navigation laser and can accurately position itself by reading QR codes on the ground or at the bottom of the material rack using its camera.

2. Classification according to the type of QR code

  • 11 Two-dimensional codes, hereinafter referred to as QR codes, have a shorter lifespan than 44 two-dimensional codes.

  • 4x4 QR code

  • 2x2 or 3x3 QR codes are not supported

3. Utilize different two-dimensional codes based on the camera model

  • For the brands Pepperl + Fu and Dahua, you can use the universal Pepperl + Fu 4*4 QR code. To print it, select the PGV QR code in the QR code tool in Roboshop.

  • The QR code style utilized by the Hikang code reader camera is displayed in the following image. Choose **AMB-800K from the Roboshop QR code tool, and use **PGV for this model in our standard products.

3.2 Generating QR Code

Tool: Roboshop Pro version 2.4.1.38 or newer

3.2.1 Tool for Generating Two-dimensional Codes

Visit the Roboshop Pro homepage and click on "Others" to access the QR Code Tool.

3.2.2 Creating a Two-Dimensional Code

Note: The actual generated number of the two-dimensional code is between 1 and 9999999.

  1. Generate a 4x4 QR code

Select [PGV QR Code] in the QR Code Tool interface. Generate a two-dimensional code based on your specific needs, where:

  • Number of QR codes: Select 4 to generate a 4*4 QR code.

  • Starting number: Usually starts from 1.

  • End number: Enter this parameter as needed.

  1. Generating monocode

Select [PGV Single QR Code] in the QR Code Tool interface. Generate a two-dimensional code based on your specific needs, where:

  • Version: Choose DM (14*14).

  • Starting number: The value begins at 1.

  • Ending number: Input this parameter as needed.

  • For the actual printed size of the QR code, refer to the QR code size calculation data on the right.

3.2.3. Save the QR code

Click the "Generate" button located in the image above to save the generated QR code file to your preferred directory.

Figure 2: 4x4 QR Code

3.3 Printing Two-dimensional Code

  • Printer: ZEBRA ZT410 300dpi

  • Printer Paper: WE PET 90*90

  • Carbon Belt: RICOH 100*300

3.3.1 Installing the Printer

  1. Follow the instructions below to install the printer paper and carbon tape.

    2. Once the installation is complete, connect the power supply and turn on the switch as shown in the image below.

    Note: The carbon tape and printer paper must be clamped, otherwise the printer will prompt a task pause.
    Printer driver:Link. Please install the driver after connecting the printer and computer using a USB cable or network cable (both are indispensable).

3.3.2 Printing the QR code

  1. Click on "Print" to access the "Print Preview" interface.

    2. Click on the icon button to access the printing interface.

    3. Select the printer and click on the "Print" button.

    4. The printing process is complete.

Explanation:

  1. All small QR codes are of the same size;

  2. No need to cut, can be used directly;

  3. The current printer paper only supports printing of 2 * 2, 3*3 (without displaying center coordinates), and 4 * 4 QR codes;

  4. It is recommended to use 4 * 4 and 2 * 2 QR codes mainly for small areas, and there is no difference in technology between the two.

3.3.3 Two-dimensional Code Pasting

Utilize tools:

  • Tape measure

  • Coated paper: Frosted film, 110*110mm (as shown in Figure 3)

  • At least two ground-attached instruments (as shown in Figure 4)

Requirements for placing QR codes for navigation:

  • The standard distance between two QR codes is 1 meter. The QR code should be placed at the turning point of the robot.

  • The X and Y axes on the QR code must be aligned with the ground line (with an error of no more than 3 degrees).

  • The QR code numbers on the ground should increase gradually in accordance with the X and Y axis directions.

  • The QR code numbers in the area must be unique. QR codes with the same number are not allowed.

  • It is recommended that the X and Y axis directions of the QR code be consistent as much as possible.

3.3.4 Procedure for Pasting

  1. Choose the location where you want to paste the QR code, as illustrated in the image below.


2. Utilize a tape measure to determine the distance of 1 meter, parallel to the laser line.

3. Align the center coordinates and affix.

4. Once affixed, cover with the film.

IV. Calibration

4.1 Calibration of PGV

Note: This method is only suitable for vehicles that are equipped with navigation lasers and have been calibrated correctly.
If the robot has obstacle avoidance lasers installed, it will require the use of PGV-odometer calibration.

Necessary Information

Acquiring data is necessary for PGV calibration.

  1. QR code position data detected by PGV;

  2. Robot odometer.

Define the special QR code area

  1. An even and enclosed space.

  2. Only one QR code on the floor.

Method of Calibration

  1. Firstly, make sure that the calibration data for the navigation laser is functioning properly. A navigation laser scan is utilized to calibrate the environment using a single QR code and relocate the robot to ensure accurate positioning on the map.

  2. In order to maneuver the robot onto the two-dimensional code, it is essential to align the robot's front (X+ direction) with the two-dimensional code's X+ direction, as illustrated in the figure below.

  1. Once the is_DMT_detected value of the PGV option is changed to True while Roboshop is running.

  1. Access the calibration option, choose PGV, and click on "Start Calibration" to initiate the calibration process.

Calibration Procedure

The PGV on the robot that needs calibration has detected the two-dimensional code. Now, proceed with the following steps:

  1. Align the robot's posture so that PGV is centered on the QR code;

  2. Move forward and backward several times;

  3. Rotate around the center of PGV (as specified in the model file).

Adjustable Parameter

Parameter Name

Parameter Meaning

Remarks

PGVCalibSize

The distance of straight back and forth

-

PGVCalibLinSpeed

The speed of going straight back and forth

-

PGVCalibRotSpeed

Angular velocity of rotation about the center of PGV

-

PGVCalibMoveCnt

The number of back and forth trips

-

Attention Required
If PGV is not located on the Y-axis of the robot coordinate system (as per the model file), the vehicle will not be able to move in all directions, and step 3 of the calibration process will fail, resulting in a calibration failure.
Since the PGV's detection range for two-dimensional codes is limited, and the calibration process revolves around the PGV's position as described in the model file, any significant errors in the PGV's external parameters in the model file may result in insufficient data collection, leading to inaccurate identification. Therefore, it is crucial to set the PGV parameters correctly in the model file.

4.2 PGV Odometer Calibration

Pgv-odometer calibration is appropriate for dual-wheel differential vehicles that do not have Lidar equipment checked for positioning and are equipped with downward-facing PGV (such vehicles always rely on detecting QR codes for positioning). Each downward-facing PGV corresponds to a calibration item of this type.

Necessary Information

The Pgv-odometer calibration process requires the collection of:

  1. Vehicle location data obtained from PGV;

  2. Walking motor encoder data.

Define a special area for QR codes

To obtain as much positioning data as possible from the QR code pose information detected by PGV during the calibration process of the PGV-odometer, a dense QR code area is required. The simplest form of this area is a continuous strip QR code area, as shown in the image below:
Additionally, this bar QR code area possesses the following properties (refer to the figure below):

  1. The X-axis of the two-dimensional code coordinate system corresponds to the longer side of the strip area.

  2. Within the two-dimensional code area, the initial two-dimensional code is located at the end of the negative x direction in the two-dimensional code coordinate system. During PGV-otometer calibration, the robot must be positioned within the range of the two-dimensional code detected by PGV.


Please contact technical support personnel to obtain the dedicated QR code strip or inquire about additional requirements for setting up the dedicated QR code area.
In addition to laying out the two-dimensional code area, it is also necessary to determine the position and orientation of these codes on the map, so that the vehicle can correctly utilize the two-dimensional code.

Method for Calibration

  1. Firstly, ensure that the lidar device on the robot is not selected for positioning.

  2. Maneuver the robot to the location of the initial QR code, allowing PGV to have a clear view of the entire QR code as depicted below.

  1. Make sure that the is_DMT_detected option of the PGV in the Roboshop running state is set to True.

  1. Access the calibration option, choose PGV, and click on "Start Calibration" to initiate the calibration process.

Calibration Procedure

At the initial state, the robot can utilize PGV for calibration to detect the initial two-dimensional code. Once calibrated, the robot will execute the following actions:

  1. Align the robot's posture so that PGV is centered on the initial QR code;

  2. Move forward and backward several times;

  3. Rotate counterclockwise and clockwise in place several times.

Adjustable Parameter

Parameter Name

Parameter Meaning

Remarks

PGVOdomCalibLength

The distance of straight back and forth

-

PGVOdomCalibSpeed

The speed of going straight back and forth

-

PGVOdomCalibAngle

The angle of the reciprocating rotation

-

PGVOdomCalibRotSpeed

The angular velocity of the reciprocating rotation

-

PGVOdomCalibGoBackandForthCnt

The number of back and forth straight lines

-

PGVOdomCalibRotBackandForthCnt

The number of back and forth rotations

-

Five, Two-Dimensional Code Navigation Settings

5.1 Importing Two-Dimensional Codes by Identification Method

  1. After posting the QR code on your website, go to the Roboshop homepage and select the robot. The "Start Recognition" button will then appear on the right side of the toolbar.

  1. Click on "Start Recognition" and manually control the robot positioned above the QR code. Once the robot stops moving, the QR code it has just identified will be displayed on the Roboshop map interface. Control the robot to scan all QR codes in sequence and click on "Stop Recognition" once the scanning is complete. Upload the current map and successfully mark the identified QR codes.

5.2 Manually Import and Set QR Code Coordinates

This method is suitable for scenarios where high accuracy is required for QR code navigation. The QR code should be pasted strictly in accordance with the horizontal and vertical orientation. All QR codes should have consistent orientation. Then, import the QR code coordinates according to the measurement data. As shown in the figure below, if all QR codes are evenly arranged:

Select the QR code and then use the Batch Create function

It supports uniform batch creation of a QR code or uniform creation of a QR code matrix. For non-uniform QR codes in some parts, you can select a group of QR codes for replication to create:

You can also achieve batch creation, and then modify the QR code ID according to the actual QR code pasting situation to ensure that the pasted QR codes are in the same order as the QR codes in the map.

Then save the map.

Method 1:
In Roboshop's map editing mode, select the site tool and drop an AP site at any location near the QR code (the same applies to other types of sites). Drag this AP point, and when it is close to the QR code, it will automatically attach to the QR code.

Method 2:
a. First, box all QR codes.

b. Right-click any QR code and select Batch LM point to automatically create all the sites above the QR code. You can also right-click a single QR code to create a single LM point.(This function requires RoboshopPro-2.4.1.36 or above to achieve)

  1. Follow the previous steps to establish sites for all QR codes and plan routes.

Attention:

  1. The orientation of the QR code on the map must match the orientation of the QR code on the ground;

  2. The direction of AP points can be adjusted according to actual requirements of the map.

  3. Ensure that the QR code number on the map corresponds to the actual location.

  1. In Map editing, under Region > Advanced Region, select the area you want to navigate using the QR code. The Two-dimensional code area must cover all stations and routes that require QR code navigation.

  1. Once the region configuration is finished, save and upload the map. When the robot reaches the designated area, it will automatically switch to two-dimensional code positioning. Upon leaving the area, it will switch back to laser positioning.

Six Precautions

6.1 Alarm Code Description

Error52121
Info: pgv model parameter configuration error.
Trigger condition:

  1. This alarm code is triggered when the reader camera model is configured incorrectly.

Solution:

  1. Check the reader camera model filexUnit``xRange``yUnit``yRange``angleUnitto ensure the configuration is correct.

  2. After restarting the robot, retrieve the model file and reconfigure the reader camera model.

Error52127
Info: PGV connection error.
Trigger condition:

  1. This alarm code is triggered when communication between the reader camera and the SRC is disconnected.

Solution:

  1. Check if the communication cable of the code reader camera is disconnected.

  2. Check if the parameter settings of the code reader camera are incorrect.

  3. Check if the model file brand configuration is incorrect.

Error52128
Tip: PGV information with mismatched device ID.
Trigger condition:

  1. If the information reported by the camera reader does not match the model configuration information, this alarm code will be triggered.

Solution:

  1. Check the model configuration of the camera reader.

  2. Replace the camera reader code.

Error52301
Tip: Unable to detect tag after a certain distance.
Trigger condition:

  1. When using QR code for positioning, the robot is unable to detect the next QR code after detecting that the previous QR code has moved a certain distance.

Solution:

  1. Check if the ground is slippery, causing the robot to deviate from the line.

  2. The distance between two QR codes is greater than the set threshold value, causing the robot to sound an alarm before detecting the next QR code.

Error54053
Hint: The tag is not visible.
Trigger condition:

  1. This alarm code will be triggered when the QR code is not visible when using pure QR code for positioning.

Solution:

  1. This warning will be reported during use because the two-dimensional code cannot be seen. It can be cleared after the two-dimensional code is visible.

Error54070
Hint: PGV cannot find codes.
Trigger condition:

  1. This alarm code will be triggered when the QR code cannot be detected during secondary positioning.

Solution:

  1. Increase the PGV_Time parameter in the settings to increase the error threshold.

  2. Check if the distance between the camera and the QR code is appropriate.

  3. Adjust the xRange and yRange of the model file reader cameras.

7. Video Tutorials

Last updated 2023/12/20
Article content

Firstly, the principle of positioning two-dimensional codes

Secondly, Introduction of Code Reading Camera

2.1 Description of Principles

2.2 Selection Comparison

2.3 Parameter Configuration

2.4 Function Description

2.4.1 Location

2.4.2 Fine-tuning

2.4.3 Parameters Returned by the Sensor

2.5 Installation and Configuration of the Reader Camera

III. Deployment of PGV Two-Dimensional Code

3.1 Classification of PGV Two-dimensional code

  1. Type by application scenario
  1. Classification according to the type of QR code
  1. Utilize different two-dimensional codes based on the camera model

3.2 Generating QR Code

3.2.1 Tool for Generating Two-dimensional Codes

3.2.2 Creating a Two-Dimensional Code

3.2.3. Save the QR code

3.3 Printing Two-dimensional Code

3.3.1 Installing the Printer

3.3.2 Printing the QR code

3.3.3 Two-dimensional Code Pasting

3.3.4 Procedure for Pasting

IV. Calibration

4.1 Calibration of PGV

Necessary Information

Define the special QR code area

Method of Calibration

Calibration Procedure

Adjustable Parameter

4.2 PGV Odometer Calibration

Necessary Information

Define a special area for QR codes

Method for Calibration

Calibration Procedure

Adjustable Parameter

Five, Two-Dimensional Code Navigation Settings

5.1 Importing Two-Dimensional Codes by Identification Method

5.2 Manually Import and Set QR Code Coordinates

Six Precautions

6.1 Alarm Code Description

  1. Video Tutorials