Visual localization method for mobile robots in indoor weak-texture environments

Through the combination of visible light positioning and image feature positioning, the problem of low positioning accuracy of mobile robots in weak texture environments is solved, high-precision and efficient visual positioning are achieved, and the reliability and robustness of the positioning algorithm are enhanced.

CN115507854BActive Publication Date: 2025-08-08GUANGDONG INTELLIGENT ROBOTICS INST
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In weak texture environments, existing visual navigation technology and visible light positioning technology cannot support high-precision mobile robot positioning, resulting in low positioning accuracy.

Method used

Visible light positioning technology is used to combine image feature positioning, signal light source encoding and visual camera recognition, signal light source recognition is used to use YOLO object detection model and squeezeNet model, and positioning correction is performed by Kalman filtering and semi-dense direct method to optimize positioning accuracy.

Benefits of technology

It improves the reliability and accuracy of the visual positioning of mobile robots in weak texture environments, enhances the robustness of the positioning algorithm, and improves the computing efficiency and positioning speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115507854B_ABST
    Figure CN115507854B_ABST
Patent Text Reader

Abstract

The present invention discloses a visual positioning method for a mobile robot in an indoor weak-texture environment, which relates to the field of robot positioning and control technology, and comprises: a signal light source transmits a coded signal in the form of visible light, and the mobile robot obtains a visible light positioning posture according to the coded signal; the mobile robot acquires an environmental image through a visual camera to obtain an image feature positioning posture, and uses the image feature positioning posture to correct the visible light positioning posture to obtain an optimized posture; the visible light positioning posture is used as an initial posture, the posture of the mobile robot is calculated, and the posture of the mobile robot is corrected using the optimized posture. The present invention mainly solves the problem of how to improve the positioning accuracy in a weak-texture environment; the mobile robot can combine the visible light positioning posture obtained by visible light positioning and the image feature positioning posture obtained by image feature positioning to obtain an optimized posture, so as to improve the reliability of visual positioning in a weak-texture environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robot positioning and control, and in particular to a visual positioning method for a mobile robot in an indoor weak-texture environment. Background Art

[0002] In production workshops, material transportation is usually carried out by means of rail-guided transport vehicles, magnetic-guided transport vehicles or fixed conveyor belts. These methods limit the flexibility of material transportation and have poor manufacturing flexibility. Moreover, guiding equipment such as tracks or magnetic strips are easily damaged, which affects the operating accuracy of transport vehicles, increases maintenance workload, and restricts the development of automation technology. Currently, robotics technology is developing rapidly, and automated guided transport robots have the advantages of reducing production costs, improving production efficiency and manufacturing flexibility. Therefore, automated guided transport robots are widely used in automated production workshops.

[0003] Autonomous mobile robots are automatically guided transport robots and are widely used in production workshops due to their high flexibility and short deployment time. Based on the requirements of industrial production, mobile robots need to achieve efficient and accurate positioning in various complex environments. Therefore, positioning and navigation technology is one of the key technologies for mobile robots to achieve autonomous movement. It is mainly used to provide guidance and guarantee for mobile robots to avoid obstacles, move to target points, and perform autonomous mobile operations.

[0004] Visual navigation technology is a key area in the field of positioning and navigation technology for mobile robots. Visual navigation technology mainly uses visual cameras as sensors to perceive the surrounding environment of mobile robots. Small, lightweight, and low-cost monocular visual navigation solutions are currently the mainstream solutions for mobile robot visual navigation technology.

[0005] Monocular vision navigation solutions rely on an environment with good lighting and texture conditions to capture enough visual features and then estimate the mobile robot's pose through projective geometry. However, weakly textured environments are very common, such as rooms with pure white walls, solid-color floors, wall mirrors, and large floor-to-ceiling windows. In such weak-texture environments, monocular vision navigation solutions produce a large number of blurred pixels, making it difficult to capture enough visual features, resulting in errors in the mobile robot's pose estimation and low positioning accuracy of visual navigation.

[0006] In the field of positioning and navigation technology for mobile robots, visible light positioning technology has also gradually been widely used. Visible light positioning technology requires the deployment of several signal light sources in the environment. By encoding each signal light source and modulating the code on the light of the signal light source, the signal light source will continuously emit its own code. The mobile robot uses sensors to identify these codes, uses the identified code information, and determines the corresponding position information in the map database. The position information is further refined according to the angle of arrival of the light, which can achieve decimeter-level positioning accuracy. However, compared with monocular vision navigation solutions under good environmental conditions, the accuracy of visible light positioning technology is still insufficient.

[0007] In summary, the current field of robot positioning and control technology needs to solve the problem that visual navigation technology cannot support high-precision navigation in weak texture environments. Summary of the Invention

[0008] The purpose of the present invention is to provide a mobile robot visual positioning method in an indoor weak-texture environment, so as to solve the problem that the visual navigation technology of the mobile robot cannot support high-precision navigation in a weak-texture environment.

[0009] To achieve the above object, the present invention provides the following technical solution: a mobile robot visual positioning method in an indoor weak-texture environment, for determining the position and posture of the mobile robot, comprising the following steps:

[0010] S1. Encode a signal light source in the environment and transmit a coded signal in the form of visible light through the signal light source; a mobile robot receives the coded signal transmitted by the signal light source and obtains the visible light positioning posture St (Xt, Yt, Zt, θt) of the mobile robot according to the coded signal;

[0011] S2. The mobile robot acquires an environmental image through a visual camera, and identifies and locates a signal light source in the environmental image to obtain an image feature positioning pose Mt(Xt, Yt, Zt, θt) of the mobile robot; and uses the image feature positioning pose Mt(Xt, Yt, Zt, θt) of the mobile robot to correct the visible light positioning pose St(Xt, Yt, Zt, θt) of the mobile robot to obtain an optimized pose Zt(Xt, Yt, Zt, θt) of the mobile robot.

[0012] S3. Use the visible light positioning posture St(Xt, Yt, Zt, θt) of the mobile robot as the initial posture, and calculate the posture Pt(Xt, Yt, Zt, θt) of the mobile robot by a semi-dense direct method that integrates global features; and use the optimized posture Zt(Xt, Yt, Zt, θt) of the mobile robot to correct the posture Pt(Xt, Yt, Zt, θt) of the mobile robot.

[0013] In the above technical solution, in step S1, the coded signal includes a start bit, a number of coded character bits, and a stop bit that are set in sequence;

[0014] The duty cycle of the start bit, each of the coded character bits, and the end bit is 75%;

[0015] The coding signal uses the transition between the start bit, the coding character bit and the end bit as a digital signal, where the transition from a high bit to a low bit is 0, and the transition from a low bit to a high bit is 1;

[0016] The number of coded character bits is

[0017] Where k is the number of signal light sources in the environment, and N is obtained by rounding up log2k;

[0018] The transmission period length of the coded signal is greater than the data period length of the coded signal.

[0019] In the above technical solution, in step S1, the mobile robot receives the coded signal emitted by the signal light source and calculates the visible light positioning posture St (Xt, Yt, Zt, θt) of the mobile robot based on the coded signal, which specifically includes the following steps:

[0020] S1.1. The mobile robot receives coded signals emitted by each of the signal light sources in the environment through a CMOS sensor;

[0021] S1.2. Analyze the coded signals emitted by each of the signal light sources;

[0022] S1.3. Analyze the visible light positioning position information Lt{L1, L2, …, Ln} of each of the signal light sources relative to the mobile robot;

[0023] S1.4. Use the coded signals of each of the signal light sources, combined with the visible light positioning position information Lt{L1, L2,…, Ln} of each of the signal light sources relative to the mobile robot, and use the position information of the signal light sources in the map database to determine the visible light positioning posture St(Xt, Yt, Zt, θt) of the mobile robot.

[0024] In the above technical solution, in step S2, the mobile robot obtains an environmental image through a visual camera, specifically:

[0025] Synchronize the frequency at which the mobile robot acquires environmental images through a visual camera with the frequency at which the signal light source transmits coded signals;

[0026] When each transmission cycle of the coded signal is completed, the mobile robot obtains a frame of the environment image through a visual camera.

[0027] In the above technical solution, in step S2, the signal light source in the environmental image is identified, specifically: the YOLO object detection model is used as the detection framework for signal light source identification, and the squeezeNet model is used to replace the darknet model in the YOLO object detection model to improve the YOLO object detection model.

[0028] In the above technical solution, in step S2, the signal light source in the environmental image is identified and located, which specifically includes the following steps:

[0029] S2.1. Define a convolutional neural network model for the YOLO object detection model and provide initial parameter values for the convolutional neural network model.

[0030] S2.2. Inputting an image dataset of the signal light source and a correct output value corresponding to the image dataset into the convolutional neural network model, and training the convolutional neural network model to adjust parameter values of the convolutional neural network model until an optimal convolutional neural network model is obtained;

[0031] S2.3. Using the YOLO object detection model with the optimal convolutional neural network model, identify the signal light source in the environmental image;

[0032] S2.4. Position the identified signal light source in the environmental image to obtain visual positioning data of the signal light source.

[0033] In the above technical solution, in step S2, after identifying and locating the signal light source in the environmental image, the image feature positioning pose Mt(Xt, Yt, Zt, θt) of the mobile robot is obtained, which specifically includes the following steps:

[0034] S2a, using the visual positioning data of the signal light source, parsing the image feature positioning position information Kt{K1, K2, ..., Kn} of each signal light source relative to the mobile robot;

[0035] S2b. Use the image feature positioning position information Kt{K1, K2,…, Kn} of each of the signal light sources relative to the mobile robot, and based on the minimum distance method, match the image feature positioning position information Kt with the visible light positioning position information Lt obtained in step S1 to obtain the correspondence between each signal light source identified in the environmental image and each signal light source received by the CMOS image sensor in step S1, and use the position information of the signal light source in the map database to determine the image feature positioning posture Mt(Xt, Yt, Zt, θt) of the mobile robot.

[0036] In the above technical solution, in step S2, the visible light positioning pose St(Xt, Yt, Zt, θt) of the mobile robot is corrected using the image feature positioning pose Mt(Xt, Yt, Zt, θt) of the mobile robot to obtain the optimized pose Zt(Xt, Yt, Zt, θt) of the mobile robot. Specifically, the image feature positioning pose Mt(Xt, Yt, Zt, θt) of the mobile robot is used as the observation value of the Kalman filtering algorithm to correct the visible light positioning pose St(Xt, Yt, Zt, θt) of the mobile robot and obtain the optimized pose Zt(Xt, Yt, Zt, θt) of the mobile robot.

[0037] In the above technical solution, in step S3, the visible light positioning pose St (Xt, Yt, Zt, θt) of the mobile robot is used as the initial pose, and the pose Pt (Xt, Yt, Zt, θt) of the mobile robot is calculated by a semi-dense direct method that integrates global features, which specifically includes the following steps:

[0038] S3.1. For any spatial point P, let its pixel coordinates in the environment image acquired at the previous moment be P1, and let its pixel coordinates in the environment image acquired at the next moment be P2. Then, pixel coordinates P1 and P2 are expressed as:

[0039]

[0040]

[0041] Wherein, u and v are the projection coordinates of the spatial point P in the environment image, Z1 is the depth of the pixel coordinate P1 in the environment image obtained at the previous moment, Z2 is the depth of the pixel coordinate P2 in the environment image obtained at the next moment, K is the internal parameter of the visual camera of the mobile robot, R is the rotation angle of the visual camera of the mobile robot from the previous moment to the next moment, t and T are the translation amounts of the visual camera of the mobile robot from the previous moment to the next moment;

[0042] S3.2. Let e be the pixel error between pixel coordinates P1 and pixel coordinates P2. The pixel error e is expressed as:

[0043] e=I1(P1)-I2(P2);

[0044] S3.3. Set the optimization target of pixel error e to:

[0045]

[0046] S3.4. For multiple points P in space i , from steps S3.1-S3.2, the pixel error e i Expressed as:

[0047] e i =I1(P1,i)-I2(P2,i);

[0048] S3.5. Set pixel error e i The optimization goal is:

[0049]

[0050] S3.6. Calculate the pixel gradient threshold a based on the texture complexity μ of the environment image:

[0051]

[0052] Among them, z is the grayscale of the environment image, L is the grayscale level of the environment image, P(Z i ) is the value corresponding to each gray level when i = 0, 1, 2 ... L-1 in the gray level histogram of the current frame environment image, and m is the mean value of the gray level z of the current frame environment image;

[0053] Where T is the gradient image of the current environment image, mean(T) is the mean of the gradient image T of the current frame environment image, and RMS(T) is the variance of the gradient image;

[0054] S3.7. From the environmental image, filter out pixels whose pixel gradient is greater than the pixel gradient threshold a, use the visible light positioning pose St(Xt, Yt, Zt, θt) of the mobile robot as the initial pose, and use the direct pose matching algorithm to calculate the pose Pt(Xt, Yt, Zt, θt) of the mobile robot.

[0055] In the above technical solution, in step S3, the optimized posture Zt(Xt, Yt, Zt, θt) of the mobile robot is used to correct the posture Pt(Xt, Yt, Zt, θt) of the mobile robot. Specifically, the optimized posture Zt(Xt, Yt, Zt, θt) of the mobile robot is used as the observation value of the Kalman filter algorithm to correct the posture Pt(Xt, Yt, Zt, θt) of the mobile robot.

[0056] Compared with the prior art, the beneficial effects of the present invention are as follows: the visual positioning method of a mobile robot in an indoor weak-texture environment of the present invention can combine the visible light positioning pose St(Xt, Yt, Zt, θt) obtained by visible light positioning and the image feature positioning pose Mt(Xt, Yt, Zt, θt) obtained by image feature positioning to finally obtain an optimized pose Pt(Xt, Yt, Zt, θt). Visible light positioning is not restricted by texture information in the environment, thereby improving the visual positioning reliability of the mobile robot in a weak-texture environment. In addition, the pose Pt(Xt, Yt, Zt, θt) of the mobile robot is calculated by a semi-dense direct method that integrates global features, which can effectively improve the computational efficiency and thus improve the positioning speed. After the pose Pt(Xt, Yt, Zt, θt) of the mobile robot is corrected by the optimized pose Zt(Xt, Yt, Zt, θt), the cumulative error of the visual odometry can be corrected, providing a more accurate pose and enhancing the robustness of the positioning algorithm. BRIEF DESCRIPTION OF THE DRAWINGS

[0057] Figure 1 It is a flow chart of the steps of the present invention.

[0058] Figure 2 Schematic diagram of data of the coded signal in the present invention.

[0059] Figure 3 Schematic diagram of the visual camera in the present invention when acquiring an environmental image. DETAILED DESCRIPTION

[0060] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.

[0061] Example 1:

[0062] See also Figure 1This embodiment provides a visual positioning method for a mobile robot in an indoor weak-texture environment, which is used to determine the posture (position and attitude) of the mobile robot in an indoor scene. The mobile robot refers to an autonomous mobile robot that has a moving device and does not move along a specified trajectory.

[0063] The mobile robot visual positioning method in an indoor weak-texture environment of this embodiment includes the following steps:

[0064] Visible light positioning stage:

[0065] S1. Encode the signal light source in the environment and transmit the coded signal in the form of visible light through the signal light source; the mobile robot receives the coded signal emitted by the signal light source and obtains the visible light positioning posture St (Xt, Yt, Zt, θt) of the mobile robot based on the coded signal.

[0066] In this step, the signal light source is a visible light beacon in the visible light positioning technology, and several of them are arranged in the environment. In the same environment, each signal light source usually has a unique code to uniquely identify the identity of a certain signal light source.

[0067] Image feature positioning stage:

[0068] S2. The mobile robot acquires the environment image through the visual camera, and identifies and locates the signal light source in the environment image to obtain the image feature positioning pose Mt(Xt, Yt, Zt, θt) of the mobile robot; the mobile robot's visible light positioning pose St(Xt, Yt, Zt, θt) is corrected using the mobile robot's image feature positioning pose Mt(Xt, Yt, Zt, θt) to obtain the mobile robot's optimized pose Zt(Xt, Yt, Zt, θt).

[0069] In this step, the visual camera can be a monocular camera, a multi-camera camera, a depth camera or other visual cameras.

[0070] Combination positioning stage:

[0071] S3. Use the visible light positioning pose St(Xt, Yt, Zt, θt) of the mobile robot as the initial pose, and calculate the pose Pt(Xt, Yt, Zt, θt) of the mobile robot through a semi-dense direct method that integrates global features; and use the optimized pose Zt(Xt, Yt, Zt, θt) of the mobile robot to correct the pose Pt(Xt, Yt, Zt, θt).

[0072] Specifically, in step S1, the mobile robot receives the coded signal emitted by the signal light source, and calculates the visible light positioning posture St (Xt, Yt, Zt, θt) of the mobile robot according to the coded signal, which specifically includes the following steps:

[0073] S1.1. The mobile robot receives the coded signals emitted by various signal light sources in the environment through the CMOS sensor.

[0074] S1.2. Analyze the coded signals emitted by each signal light source.

[0075] S1.3. Analyze the visible light positioning position information Lt{L1, L2, ..., Ln} of each signal light source relative to the mobile robot.

[0076] In this step, the visible light positioning position information Lt{L1, L2, ..., Ln} is a vector set, which represents the distance and orientation of each signal light source relative to the mobile robot.

[0077] S1.4. Use the coded signals of each signal light source, combined with the visible light positioning position information Lt{L1, L2, …, Ln} of each signal light source relative to the mobile robot, and use the position information of the signal light source in the map database to determine the visible light positioning posture St(Xt, Yt, Zt, θt) of the mobile robot.

[0078] Specifically, in step S2, the signal light source in the environment image is identified, specifically by using the YOLO object detection model as a detection framework for signal light source identification, and replacing the darknet model in the YOLO object detection model with the squeezeNet model to improve the YOLO object detection model.

[0079] Considering that the appearance of the signal light source is fixed, but the visual camera of the mobile robot captures the signal light source from different angles, the captured signal light source images will be different; in response to the high-efficiency positioning requirements of the mobile robot, the traditional YOLO object detection model is difficult to achieve sufficiently high recognition efficiency due to redundancy. The squeezeNet model has the advantages of being lightweight and having low computational complexity. The YOLO object detection model is used as the detection framework, and the squeezeNet model is used to replace the darknet model in the YOLO object detection model. The improved YOLO object detection model is used to achieve high-efficiency signal light source feature recognition in environmental images, thereby improving recognition performance, reducing computational complexity, and lightweighting the YOLO object detection model.

[0080] More specifically, in step S2, identifying and locating the signal light source in the environment image specifically includes the following steps:

[0081] S2.1. Define the convolutional neural network model of the YOLO object detection model and provide initial parameter values for the convolutional neural network model.

[0082] S2.2. Input an image dataset about the signal light source and a correct output value corresponding to the image dataset into the convolutional neural network model, and train the convolutional neural network model to adjust the parameter values of the convolutional neural network model until an optimal convolutional neural network model is obtained.

[0083] By inputting an image dataset about a signal light source and the correct output values corresponding to the image dataset into the convolutional neural network model, the parameter values of the convolutional neural network model can be adjusted. When evaluating the convolutional neural network model, a set of parameter values of the convolutional neural network model whose output values match the correct output values or whose output values are closest to the correct output values is selected. After applying the parameter values, the optimal convolutional neural network model can be obtained.

[0084] S2.3. Use the YOLO object detection model with the optimal convolutional neural network model to identify the signal light source in the environment image.

[0085] S2.4. Position the identified signal light source in the environmental image to obtain visual positioning data of the signal light source.

[0086] Specifically, in step S2, after identifying and locating the signal light source in the environment image, the image feature positioning pose Mt(Xt, Yt, Zt, θt) of the mobile robot is obtained, which specifically includes the following steps:

[0087] S2a. Using the visual positioning data of the signal light source, the image feature positioning position information Kt{K1, K2, ..., Kn} of each signal light source relative to the mobile robot is parsed.

[0088] In this step, the image feature positioning position information Kt{K1, K2, ..., Kn} is a vector set, which represents the distance and orientation of each signal light source relative to the mobile robot.

[0089] S2b. Use the image feature positioning position information Kt{K1, K2,…, Kn} of each signal light source relative to the mobile robot, and based on the minimum distance method, match the image feature positioning position information Kt with the visible light positioning position information Lt obtained in step S1 to obtain the correspondence between each signal light source identified in the environmental image and each signal light source received by the CMOS image sensor in step S1. Use the position information of the signal light source in the map database to determine the image feature positioning posture Mt(Xt, Yt, Zt, θt) of the mobile robot.

[0090] Specifically, in step S2, the visible light positioning pose St(Xt, Yt, Zt, θt) of the mobile robot is corrected using the image feature positioning pose Mt(Xt, Yt, Zt, θt) of the mobile robot to obtain the optimized pose Zt(Xt, Yt, Zt, θt) of the mobile robot. Specifically, the image feature positioning pose Mt(Xt, Yt, Zt, θt) of the mobile robot is used as the observation value of the Kalman filter algorithm to correct the visible light positioning pose St(Xt, Yt, Zt, θt) of the mobile robot and obtain the optimized pose Zt(Xt, Yt, Zt, θt) of the mobile robot; after optimizing the visible light positioning pose St(Xt, Yt, Zt, θt) in this way, a more accurate optimized pose Zt(Xt, Yt, Zt, θt) can be obtained.

[0091] like Figure 3 As shown, specifically, in step S3, the visible light positioning pose St (Xt, Yt, Zt, θt) of the mobile robot is used as the initial pose, and the pose Pt (Xt, Yt, Zt, θt) of the mobile robot is calculated by a semi-dense direct method that integrates global features, which specifically includes the following steps:

[0092] S3.1. For any spatial point P, let its pixel coordinates in the environment image acquired at the previous moment be P1, and let its pixel coordinates in the environment image acquired at the next moment be P2. Then, pixel coordinates P1 and P2 are expressed as:

[0093]

[0094]

[0095] like Figure 3 As shown in the figure, u and v are the projection coordinates of the spatial point P in the environment image, Z1 is the depth of the pixel coordinate P1 in the environment image obtained at the previous moment, Z2 is the depth of the pixel coordinate P2 in the environment image obtained at the next moment, K is the internal parameter of the visual camera of the mobile robot, R is the rotation angle of the visual camera of the mobile robot from the previous moment to the next moment, and t and T are the translation amounts of the visual camera of the mobile robot from the previous moment to the next moment.

[0096] S3.2. Let e be the pixel error between pixel coordinates P1 and pixel coordinates P2. The pixel error e is expressed as:

[0097] e=I1(P1)-I2(P2).

[0098] S3.3. Set the optimization target of pixel error e to:

[0099]

[0100] In fact, minimizing the pixel error e is the optimization goal of the pixel error e.

[0101] S3.4. For multiple points P in space i , from steps S3.1-S3.2, the pixel error e i Expressed as:

[0102] e i =I1(P1,i)-I2(P2,i).

[0103] S3.5. Set pixel error e i The optimization goal is:

[0104]

[0105] In fact, the pixel error e i The sum of is minimized, which is the pixel error e i optimization goal.

[0106] S3.6. Calculate the pixel gradient threshold a based on the texture complexity μ of the environment image:

[0107]

[0108] Among them, z is the grayscale of the environment image, L is the grayscale level of the environment image, P(Z i ) is the value corresponding to each gray level when i = 0, 1, 2 ... L-1 in the gray level histogram of the current frame environment image, and m is the mean value of the gray level z of the current frame environment image;

[0109] Where T is the gradient image of the current environment image, mean(T) is the mean of the gradient image T of the current frame environment image, and RMS(T) is the variance of the gradient image.

[0110] S3.7. From the environmental image, filter out pixels whose pixel gradients are greater than the pixel gradient threshold a, use the visible light positioning pose St(Xt, Yt, Zt, θt) of the mobile robot as the initial pose, and use the direct pose matching algorithm to calculate the pose Pt(Xt, Yt, Zt, θt) of the mobile robot.

[0111] The mobile robot's pose Pt(Xt, Yt, Zt, θt) is calculated using a semi-dense direct method, which saves the time for feature point identification and matching and improves positioning efficiency. When the signal light source is sufficient and stable, the semi-dense direct method, based on the assumption that the image grayscale is constant, can be well established, ensuring the accuracy and robustness of the mobile robot's pose Pt(Xt, Yt, Zt, θt) calculation process. In addition, in a weak texture environment, too few feature points are identified in the environmental image and the error is too large. The semi-dense direct method can avoid this situation and further improve the accuracy and robustness.

[0112] Specifically, in step S3, the optimized posture Zt (Xt, Yt, Zt, θt) of the mobile robot is used to correct the posture Pt (Xt, Yt, Zt, θt) of the mobile robot. Specifically, the optimized posture Zt (Xt, Yt, Zt, θt) of the mobile robot is used as the observation value of the Kalman filter algorithm to correct the posture Pt (Xt, Yt, Zt, θt) of the mobile robot; after optimizing the posture Pt (Xt, Yt, Zt, θt) of the mobile robot in this way, a more accurate posture Pt (Xt, Yt, Zt, θt) can be obtained.

[0113] In the visual positioning method for a mobile robot in an indoor weak-texture environment of this embodiment, the mobile robot can combine the visible light positioning pose St(Xt, Yt, Zt, θt) obtained by visible light positioning and the image feature positioning pose Mt(Xt, Yt, Zt, θt) obtained by image feature positioning to ultimately obtain an optimized pose Pt(Xt, Yt, Zt, θt). Visible light positioning is not restricted by texture information in the environment, thereby improving the visual positioning reliability of the mobile robot in a weak-texture environment. In addition, the pose Pt(Xt, Yt, Zt, θt) of the mobile robot is calculated by a semi-dense direct method that integrates global features, which can effectively improve computational efficiency and thus improve positioning speed. After the pose Pt(Xt, Yt, Zt, θt) of the mobile robot is corrected by the optimized pose Zt(Xt, Yt, Zt, θt), the accumulated error of the visual odometry can be corrected, providing a more accurate pose and enhancing the robustness of the positioning algorithm.

[0114] Example 2:

[0115] See also Figure 2 This embodiment provides a mobile robot visual positioning method in an indoor weak-texture environment. Based on the mobile robot visual positioning method in an indoor weak-texture environment provided in Example 1, it further includes the following technical solutions:

[0116] In step S1, the coded signal includes a start bit, a plurality of coded character bits, and a stop bit, which are sequentially set. In this embodiment, the start bit is one bit, specifically 0; the stop bit is also one bit, specifically 1; and the coded character bit is an eight-bit binary number, representing the code of the signal light source.

[0117] Furthermore, considering that the signal light source must have sufficient light intensity and the coded signal in the signal light source can be accurately parsed, the duty cycle of the start bit, each coded character bit and the end bit is 75%.

[0118] Specifically, the coding signal uses the transition between the start bit, the coding character bit, and the end bit as a digital signal. A transition from a high bit to a low bit is 0, and a transition from a low bit to a high bit is 1.

[0119] Specifically, the number of coded character bits is

[0120] Where k is the number of signal light sources in the environment, and N is obtained by rounding up log2k;

[0121] Furthermore, the transmission period length of the coded signal is greater than the data period length of the coded signal, thereby avoiding overlapping of the coded signals.

[0122] Example 3:

[0123] This embodiment provides a method for visual positioning of a mobile robot in an indoor weak-texture environment. Based on the method for visual positioning of a mobile robot in an indoor weak-texture environment provided in the first or second embodiment, the method further includes the following technical solutions:

[0124] In step S2, the mobile robot acquires an environmental image through a visual camera, specifically:

[0125] Synchronize the frequency at which the mobile robot acquires environmental images through a visual camera with the frequency at which the signal light source transmits coded signals;

[0126] When each coded signal transmission cycle is completed, the mobile robot obtains a frame of environment image through the visual camera.

[0127] In this way, it is possible to effectively avoid the acquired environment image from being too dark.

[0128] While embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions, and variations may be made to these embodiments without departing from the principles and spirit of the invention, and that the scope of the invention is defined by the appended claims and their equivalents.

Claims

1. A mobile robot visual positioning method in an indoor weak texture environment, used to determine the position and posture of the mobile robot, characterized in that: The steps include: S1. Encode a signal light source in the environment and transmit a coded signal in the form of visible light through the signal light source; a mobile robot receives the coded signal transmitted by the signal light source and obtains the visible light positioning posture St (Xt, Yt, Zt, θt) of the mobile robot according to the coded signal; S2. The mobile robot acquires an environmental image through a visual camera, and identifies and locates a signal light source in the environmental image to obtain an image feature positioning pose Mt(Xt, Yt, Zt, θt) of the mobile robot; and uses the image feature positioning pose Mt(Xt, Yt, Zt, θt) of the mobile robot to correct the visible light positioning pose St(Xt, Yt, Zt, θt) of the mobile robot to obtain an optimized pose Zt(Xt, Yt, Zt, θt) of the mobile robot. S3. Use the visible light positioning posture St(Xt, Yt, Zt, θt) of the mobile robot as the initial posture, and calculate the posture Pt(Xt, Yt, Zt, θt) of the mobile robot by a semi-dense direct method that integrates global features; and use the optimized posture Zt(Xt, Yt, Zt, θt) of the mobile robot to correct the posture Pt(Xt, Yt, Zt, θt) of the mobile robot.

2. The mobile robot visual positioning method in an indoor weak texture environment according to claim 1, characterized in that: In step S1, the coded signal includes a start bit, a number of coded character bits, and a stop bit that are set in sequence; The duty cycle of the start bit, each of the coded character bits, and the end bit is 75%; The coding signal uses the transition between the start bit, the coding character bit and the end bit as a digital signal, where the transition from the high bit to the low bit is 0, and the transition from the low bit to the high bit is 1; The number of coded character bits is Where k is the number of signal light sources in the environment, and N is obtained by rounding up log2k; The transmission period length of the coded signal is greater than the data period length of the coded signal.

3. The mobile robot visual positioning method in an indoor weak texture environment according to claim 1 or 2, characterized in that: In step S1, the mobile robot receives the coded signal emitted by the signal light source and calculates the visible light positioning posture St (Xt, Yt, Zt, θt) of the mobile robot according to the coded signal, which specifically includes the following steps: S1.

1. The mobile robot receives coded signals emitted by each of the signal light sources in the environment through a CMOS sensor; S1.

2. Parsing the coded signals emitted by each of the signal light sources; S1.

3. Analyze the visible light positioning position information Lt{L1, L2, …, Ln} of each of the signal light sources relative to the mobile robot; S1.

4. Use the coded signals of each of the signal light sources, combined with the visible light positioning position information Lt{L1, L1,…, Ln} of each of the signal light sources relative to the mobile robot, and use the position information of the signal light sources in the map database to determine the visible light positioning posture St(Xt, Yt, Zt, θt) of the mobile robot.

4. The mobile robot visual positioning method in an indoor weak texture environment according to claim 1, characterized in that: In step S2, the mobile robot acquires an environmental image through a visual camera, specifically: Synchronize the frequency at which the mobile robot acquires environmental images through a visual camera with the frequency at which the signal light source transmits coded signals; When each transmission cycle of the coded signal is completed, the mobile robot obtains a frame of the environment image through a visual camera.

5. The mobile robot visual positioning method in an indoor weak texture environment according to claim 1 or 4, characterized in that: In step S2, the signal light source in the environmental image is identified, specifically: The YOLO object detection model is used as a detection framework for signal light source recognition, and the squeezeNet model is used to replace the darknet model in the YOLO object detection model to improve the YOLO object detection model.

6. The mobile robot visual positioning method in an indoor weak texture environment according to claim 5, characterized in that: In step S2, the signal light source in the environmental image is identified and located, which specifically includes the following steps: S2.

1. Define a convolutional neural network model for the YOLO object detection model and provide initial parameter values for the convolutional neural network model. S2.

2. Inputting an image dataset of the signal light source and a correct output value corresponding to the image dataset into the convolutional neural network model, and training the convolutional neural network model to adjust parameter values of the convolutional neural network model until an optimal convolutional neural network model is obtained; S2.

3. Using the YOLO object detection model with the optimal convolutional neural network model, identify the signal light source in the environmental image; S2.

4. Position the identified signal light source in the environmental image to obtain visual positioning data of the signal light source.

7. The mobile robot visual positioning method in an indoor weak texture environment according to claim 6, characterized in that: In step S2, after identifying and locating the signal light source in the environmental image, the image feature positioning pose Mt(Xt, Yt, Zt, θt) of the mobile robot is obtained, which specifically includes the following steps: S2a, using the visual positioning data of the signal light source, parsing the image feature positioning position information Kt{K1, K1, ..., Kn} of each signal light source relative to the mobile robot; S2b. Use the image feature positioning position information Kt{K1, K2,…, Kn} of each signal light source relative to the mobile robot, and based on the minimum distance method, match the image feature positioning position information Kt with the visible light positioning position information Lt obtained in step S1 to obtain the correspondence between each signal light source identified in the environmental image and each signal light source received by the mobile robot in step S1, and use the position information of the signal light source in the map database to determine the image feature positioning posture Mt(Xt, Yt, Zt, θt) of the mobile robot.

8. The mobile robot visual positioning method in an indoor weak texture environment according to claim 1, characterized in that: In step S2, the visible light positioning pose St(Xt, Yt, Zt, θt) of the mobile robot is corrected using the image feature positioning pose Mt(Xt, Yt, Zt, θt) of the mobile robot to obtain the optimized pose Zt(Xt, Yt, Zt, θt) of the mobile robot, specifically: The image feature positioning pose Mt(Xt, Yt, Zt, θt) of the mobile robot is used as the observation value of the Kalman filter algorithm to correct the visible light positioning pose St(Xt, Yt, Zt, θt) of the mobile robot and obtain the optimized pose Zt(Xt, Yt, Zt, θt) of the mobile robot.

9. The mobile robot visual positioning method in an indoor weak texture environment according to claim 1, characterized in that: In step S3, the visible light positioning pose St(Xt, Yt, Zt, θt) of the mobile robot is used as the initial pose, and the pose Pt(Xt, Yt, Zt, θt) of the mobile robot is calculated by a semi-dense direct method that integrates global features. Specifically, the following steps are included: S3.

1. For any spatial point P, let its pixel coordinates in the environment image acquired at the previous moment be P1, and let its pixel coordinates in the environment image acquired at the next moment be P2. Then, pixel coordinates P1 and P2 are expressed as: Wherein, u and v are the projection coordinates of the spatial point P in the environment image, Z1 is the depth of the pixel coordinate P1 in the environment image obtained at the previous moment, Z2 is the depth of the pixel coordinate P2 in the environment image obtained at the next moment, K is the internal parameter of the visual camera of the mobile robot, R is the rotation angle of the visual camera of the mobile robot from the previous moment to the next moment, t and T are the translation amounts of the visual camera of the mobile robot from the previous moment to the next moment; S3.

2. Let e be the pixel error between pixel coordinates P1 and pixel coordinates P2. The pixel error e is expressed as: e=I1(P1)-I2(P2); S3.

3. Set the optimization target of pixel error e to: S3.

4. For multiple points P in space i , from steps S3.1-S3.2, the pixel error e i Expressed as: e i =I1(P1,i)-I2(P2,i); S3.

5. Set pixel error e i The optimization goal is: S3.

6. Calculate the pixel gradient threshold a based on the texture complexity μ of the environment image: Among them, z is the grayscale of the environment image, L is the grayscale level of the environment image, P(Z i ) is the value corresponding to each gray level when i = 0, 1, 2 ... L-1 in the gray level histogram of the current frame environment image, and m is the mean value of the gray level z of the current frame environment image; Where T is the gradient image of the current environment image, mean(T) is the mean of the gradient image T of the current frame environment image, and RMS(T) is the variance of the gradient image; S3.

7. From the environmental image, filter out pixels whose pixel gradient is greater than the pixel gradient threshold a, use the visible light positioning pose St(Xt, Yt, Zt, θt) of the mobile robot as the initial pose, and use the direct pose matching algorithm to calculate the pose Pt(Xt, Yt, Zt, θt) of the mobile robot.

10. The mobile robot visual positioning method in an indoor weak texture environment according to claim 9, characterized in that: In step S3, the optimized posture Zt(Xt, Yt, Zt, θt) of the mobile robot is used to correct the posture Pt(Xt, Yt, Zt, θt) of the mobile robot, specifically as follows: The optimized posture Zt(Xt, Yt, Zt, θt) of the mobile robot is used as the observation value of the Kalman filter algorithm to correct the posture Pt(Xt, Yt, Zt, θt) of the mobile robot.

Citation Information

Patent Citations

  • Visible light based factory positioning system and positioning method

    CN108120435A

  • Visible-light visual locating method based on artificial neural network

    CN108519088A