Method and device for controlling movement of mobile robot and electronic equipment

By fusing laser sensing, QR code and IMU data, speed vectors are determined and motion control is performed, and the problem of positioning accuracy and stability of mobile robots in complex environments is solved, achieving high-precision and robust navigation effects.

CN119717640AInactive Publication Date: 2025-03-28ZHUHAI GREE INTELLIGENT EQUIP CO LTD +1
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202411894744.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-20
Publication Date
2025-03-28
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

In complex environments, a single perception method is difficult to meet the high-precision positioning needs of mobile robots, especially in scenarios where signal occlusion, poor light and dynamic obstacles exist.

Method used

By obtaining laser sensing data, QR code data and IMU data during the mobile robot movement, the first speed vector and the second speed vector are determined, and motion control is performed based on the preset target path, combining complementary filtering processing and SLAM technology to improve positioning accuracy and stability.

Benefits of technology

It realizes high-precision positioning and stable navigation of mobile robots in complex environments, improving the adaptability to environmental changes and the robustness of navigation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119717640A_ABST
    Figure CN119717640A_ABST
Patent Text Reader

Abstract

The invention provides a method and device for controlling movement of a mobile robot and electronic equipment. The method comprises the following steps: firstly, acquiring laser sensing data, two-dimensional code data and IMU (Inertial Measurement Unit) data in a moving process of the mobile robot; then, determining a first velocity vector of the mobile robot according to the laser sensing data, and determining a second velocity vector of the mobile robot according to the two-dimensional code data; and finally, based on a preset target path, performing motion control on the mobile robot by applying the first velocity vector, the second velocity vector and the IMU data. According to the scheme, the problem that accurate positioning of the mobile robot can be realized by fusing information of various sensors is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to automation and robotics, and in particular, to a method, device, computer-readable storage medium, and electronic device for controlling the movement of a mobile robot. Background Art

[0002] With the development of automation and intelligent technology, higher requirements are placed on the positioning technology of mobile robots. In complex industrial environments or indoor environments, a single sensing method is often difficult to meet the needs of high-precision positioning. For example, GPS positioning relies on satellite signals, which cannot provide stable and reliable positioning information indoors or in signal-blocked environments. LiDAR can provide high-precision environmental perception, but its positioning accuracy will drop significantly in scenes with poor lighting conditions or the presence of dynamic obstacles. Although QR code positioning technology can achieve high-precision positioning in a specific area, the damage or loss of the QR code will directly affect the continuity and accuracy of positioning.

[0003] Therefore, how to improve the positioning accuracy and stability of mobile robots in complex environments, especially in environments with signal obstruction, poor light, and the presence of dynamic obstacles, has become a research hotspot. It is necessary to develop a technology that can integrate information from multiple sensors to achieve high-precision and robust positioning of mobile robots. Summary of the invention

[0004] The main purpose of the present application is to provide a method, device, computer-readable storage medium and electronic device for controlling the movement of a mobile robot, so as to at least solve the urgent problem of being able to integrate information from multiple sensors to achieve accurate positioning of the mobile robot.

[0005] In order to achieve the above-mentioned purpose, according to one aspect of the present application, a method for controlling the movement of a mobile robot is provided, including: acquiring laser sensor data, QR code data and IMU data during the movement of the mobile robot; determining a first velocity vector of the mobile robot according to the laser sensor data, and determining a second velocity vector of the mobile robot according to the QR code data; based on a preset target path, and applying the first velocity vector, the second velocity vector and IMU data to control the motion of the mobile robot.

[0006] Optionally, based on a preset target path, the first velocity vector, the second velocity vector and IMU data are applied to perform motion control on the mobile robot, including: complementary filtering of the first velocity vector and the second velocity vector to obtain a filtered velocity vector; based on the preset target path, the mobile robot is motion controlled by applying the filtered velocity vector and IMU data.

[0007] Optionally, before complementary filtering the first velocity vector and the second velocity vector to obtain the filtered velocity vector, the method further includes: setting a time constant of the complementary filter, wherein the size of the time constant is positively correlated with the credibility of the first velocity vector, and the size of the time constant is negatively correlated with the credibility of the second velocity vector.

[0008] Optionally, before complementary filtering the first velocity vector and the second velocity vector to obtain the filtered velocity vector, the method further includes: determining a weighting factor of the complementary filter based on a time constant and a sampling period of the complementary filter, wherein the weighting factor is used to reflect the weight of the first velocity vector and the second velocity vector in affecting the filtered velocity vector.

[0009] Optionally, determining the weighting factor of the complementary filter according to the time constant and sampling period of the complementary filter includes: determining the weighting factor α of the complementary filter according to the formula α=τ / (τ+dt), wherein τ represents the time constant of the complementary filter, and dt represents the sampling period of the complementary filter.

[0010] Optionally, based on the preset target path, the mobile robot is motion controlled by applying the filtered velocity vector and the IMU data, including: applying SLAM technology to control the mobile robot motion based on the preset target path using the filtered velocity vector and the IMU data.

[0011] Optionally, before acquiring laser sensor data, QR code data and IMU data during the movement of the mobile robot, the method also includes: initializing a laser radar for collecting the laser sensor data, a camera for collecting the QR code data and an IMU for collecting the IMU data.

[0012] According to another aspect of the present application, a device for controlling the movement of a mobile robot is provided, including: an acquisition unit for acquiring laser sensor data, two-dimensional code data and IMU data during the movement of the mobile robot; a determination unit for determining a first velocity vector of the mobile robot according to the laser sensor data, and determining a second velocity vector of the mobile robot according to the two-dimensional code data; a control unit for controlling the motion of the mobile robot based on a preset target path and applying the first velocity vector, the second velocity vector and the IMU data.

[0013] According to another aspect of the present application, a computer-readable storage medium is provided, wherein the computer-readable storage medium includes a stored program, wherein when the program is executed, the device where the computer-readable storage medium is located is controlled to execute any one of the methods for controlling the movement of a mobile robot.

[0014] According to another aspect of the present application, an electronic device is provided, comprising: one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, and the one or more programs include a method for executing any one of the methods for controlling the movement of a mobile robot.

[0015] By applying the technical solution of the present application, first, the laser sensor data, QR code data and IMU data of the mobile robot during its movement are obtained; then, the first velocity vector of the mobile robot is determined according to the laser sensor data, and the second velocity vector of the mobile robot is determined according to the QR code data; finally, based on the preset target path, the first velocity vector, the second velocity vector and IMU data are used to control the motion of the mobile robot, thereby solving the urgent problem of a method that can integrate information from multiple sensors to achieve precise positioning of the mobile robot. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The drawings constituting part of the present application are used to provide a further understanding of the present application. The exemplary embodiments and descriptions of the present application are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0017] Figure 1 A hardware structure block diagram of a mobile terminal for executing a method for controlling the movement of a mobile robot provided in an embodiment of the present application is shown;

[0018] Figure 2 A schematic flow chart of a method for controlling the movement of a mobile robot provided according to an embodiment of the present application is shown;

[0019] Figure 3 A schematic flow chart of a specific method for controlling the movement of a mobile robot provided according to an embodiment of the present application is shown;

[0020] Figure 4 A structural block diagram of a device for controlling the movement of a mobile robot provided according to an embodiment of the present application is shown.

[0021] The above drawings include the following reference numerals:

[0022] 102, processor; 104, memory; 106, transmission device; 108, input and output devices. DETAILED DESCRIPTION

[0023] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0024] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.

[0025] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present application described here. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0026] As introduced in the background technology, in the complex industrial environment or indoor environment in the prior art, a single sensing method is often difficult to meet the needs of high-precision positioning. In order to solve the problem of urgently needing a method that can integrate multiple sensor information to achieve accurate positioning of the mobile robot, the embodiments of the present application provide a method, device, computer-readable storage medium and electronic device for controlling the movement of a mobile robot.

[0027] The technical solutions in the embodiments of the present invention will be described clearly and completely below in conjunction with the accompanying drawings in the embodiments of the present invention.

[0028] The method embodiments provided in the embodiments of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Taking running on a mobile terminal as an example, Figure 1 FIG. 1 is a hardware structure block diagram of a mobile terminal of a method for controlling the motion of a mobile robot according to an embodiment of the present invention. Figure 1 As shown, the mobile terminal may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the mobile terminal may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1The structure shown is only for illustration and does not limit the structure of the mobile terminal. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown.

[0029] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the method for controlling the movement of the mobile robot in the embodiment of the present invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, the above method is implemented. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the mobile terminal via a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof. The transmission device 106 is used to receive or send data via a network. The above-mentioned specific examples of the network may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0030] In this embodiment, a method for controlling the movement of a mobile robot is provided, which runs on a mobile terminal, a computer terminal or a similar computing device. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0031] Figure 2 FIG. 1 is a flow chart of a method for controlling the motion of a mobile robot according to an embodiment of the present application. Figure 2 As shown, the method comprises the following steps:

[0032] Step S201, acquiring laser sensor data, QR code data and IMU data during the movement of the mobile robot;

[0033] Specifically, laser sensing data is usually acquired by Laser Radar (LiDAR). The laser radar calculates the two-dimensional or three-dimensional position information of the object by emitting laser pulses and detecting the time and intensity of these pulses reflected from the object. In the embodiment of the present application, the scanning angle of the laser radar is 270 degrees, the measurement range is 30 meters, the acquisition cycle is 5ms, and the accuracy is ±10mm. In a mobile robot, the laser radar can scan the surrounding environment in real time, identify obstacles, walls and other environmental features, and thus determine the position and direction of the mobile robot. The acquisition of laser sensing data is the basis for the mobile robot to perceive and understand the environment in real time, which is crucial for dynamic path planning and obstacle avoidance.

[0034] The acquisition of QR code data usually involves the use of a camera or a dedicated QR code reader. A QR code is a graphic code that stores information in a two-dimensional space and can be designed to be placed in the working environment of a mobile robot. In an embodiment of the present application, the offset of the camera scanning center from the center of the QR code is (x, y), and the scanning period is 5ms. The mobile robot obtains key positioning information by reading these QR codes, including the current position, direction, and possible motion instructions. QR code data plays an important role in preset path navigation, positioning calibration, and environmental recognition, especially in static or semi-static environments that require high-precision positioning.

[0035] IMU (Inertial Measurement Unit) data includes acceleration, angular velocity, and possible magnetic data, and is provided by built-in sensors such as accelerometers, gyroscopes, and magnetometers. IMU data is used to determine the motion state of the mobile robot, including acceleration, angular velocity, orientation, etc., and the IMU can provide continuous motion information even in an environment without an external reference signal. In an embodiment of the present application, the acquisition period is 5ms and the accuracy is ±0.1°. In multi-sensory fusion positioning and navigation, the continuity and high-frequency update characteristics of IMU data make it an important source of information to supplement other sensor data when it is interrupted, inaccurate, or unavailable.

[0036] The acquisition of these three data is a prerequisite for the mobile robot to achieve precise positioning and stable navigation. Through subsequent data fusion and processing steps, the position, direction and speed of the mobile robot can be determined more accurately, thereby realizing further mobile robot control and automated task execution.

[0037] Step S202, determining a first velocity vector of the mobile robot according to the laser sensor data, and determining a second velocity vector of the mobile robot according to the two-dimensional code data;

[0038] Specifically, the laser radar can obtain real-time environmental features, such as the distance and direction of obstacles, by emitting lasers to the surrounding environment and receiving reflected signals. When processing this data, the point cloud information returned by the laser radar is analyzed by an algorithm to identify the relative changes of the mobile robot relative to the surrounding environment. This change usually includes the movement of the mobile robot's position and the change of its posture. Through continuous point cloud comparison, the change in the position of the mobile robot in a short period of time can be calculated, and then the instantaneous speed and direction of the mobile robot can be calculated by the time difference method. The combination of speed magnitude characteristics and direction characteristics is the first velocity vector. This method is suitable for dynamic environments and can provide continuous positioning information, but due to the characteristics of the laser radar, errors may occur under certain specific conditions (such as strong light reflection or simple obstacle structure).

[0039] When the mobile robot identifies its current position by reading a QR code, the movement of the mobile robot between the QR codes can be determined by comparing the information of the continuously read QR codes. Since the QR code provides accurate position information, the average speed and direction of the mobile robot between the QR codes can be calculated by the change in position before and after the QR code is read and the time difference. The combination of the average speed magnitude feature and the direction feature is the second speed vector. The QR code positioning method is particularly effective in static environments or environments with preset paths, and can provide high-precision positioning information, but its applicability is limited by the distribution and reading of the QR code.

[0040] The determination of the first velocity vector and the second velocity vector provides two different sources of speed and direction information for subsequent data fusion. The first velocity vector focuses on real-time and continuity, while the second velocity vector focuses on accuracy and stability. The combination of the two can improve the positioning accuracy and navigation performance of mobile robots in complex environments by comprehensively considering the balance between real-time and accuracy through data fusion technologies such as complementary filtering.

[0041] Step S203 , based on a preset target path, and applying the first velocity vector, the second velocity vector and the IMU data, motion control is performed on the mobile robot.

[0042] Specifically, the preset target path is a guide for the mobile robot's navigation task, which is usually planned before the task begins, including the route the mobile robot needs to follow and the target location it expects to reach. This path can be based on feature points in the map, dynamic programming algorithms, and previous environmental scans and perception data.

[0043] The first velocity vector and the second velocity vector are obtained by processing the data of the laser radar and the QR code reader respectively. The first velocity vector provides the real-time speed and direction information of the mobile robot based on the laser radar environment scanning results, focusing on precise control in dynamic environments. The second velocity vector is based on the reading results of the QR code, providing more stable and accurate speed and direction information under static or preset paths. In the control strategy, these two will be used in combination to meet the navigation needs under different environmental conditions.

[0044] IMU data includes acceleration, angular velocity, and possible magnetic information, which is used to continuously track the dynamic changes of the mobile robot in three-dimensional space, and provide continuous motion state information even when other sensor data is not available. IMU data provides inertial supplement to the mobile robot's motion during low-frequency positioning updates, helping to maintain the continuity and accuracy of positioning.

[0045] Motion control is the process of converting the above sensor information into actual mobile robot movements. By comparing the position and direction measured by the current sensor with the preset target path, the deviation between the mobile robot and the target path can be calculated. Then, the first velocity vector, the second velocity vector and the IMU data are combined with the control algorithm (such as PID control, model predictive control, etc.) to adjust the speed and direction of the mobile robot to minimize the deviation and achieve accurate path tracking. For example, if the mobile robot deviates from the preset path, the position can be corrected by adjusting the movement speed and steering; if an obstacle is detected, the path can be adjusted in time to avoid collision. In the motion control process, a data fusion algorithm is used to integrate the first velocity vector, the second velocity vector and the IMU data. The purpose of data fusion is to optimize decision-making, reduce the uncertainty caused by a single sensor, and improve the stability and accuracy of control. The fusion algorithm assigns different weights to the data of each sensor according to the characteristics of the sensor, such as accuracy, update frequency and environmental adaptability, so as to obtain the optimal speed and direction control instructions.

[0046] In summary, motion control based on the preset target path combined with the first velocity vector, the second velocity vector and IMU data is an important means for mobile robots to achieve accurate positioning and navigation in complex environments. This control strategy makes full use of the information from multiple sensors, improves the mobile robot's ability to adapt to environmental changes and the robustness of navigation, and ensures that the mobile robot can complete navigation tasks efficiently and safely.

[0047] In a specific embodiment of the present application, based on a preset target path, the motion control of the mobile robot is performed by applying the first velocity vector, the second velocity vector and the IMU data, including: complementary filtering of the first velocity vector and the second velocity vector to obtain a filtered velocity vector; based on the preset target path, the motion control of the mobile robot is performed by applying the filtered velocity vector and the IMU data.

[0048] Specifically, data fusion is the process of integrating the data of multiple sensors into a more accurate and stable state estimation of the mobile robot. Here, the first velocity vector (based on laser radar) and the second velocity vector (based on QR code) are fused by complementary filtering. Complementary filtering is a simple and effective data fusion method, which combines the characteristics of low-pass filter and high-pass filter, and complements the advantages of two sensor data by weighted summation. In the embodiment of the present application, Kalman filtering is used to perform complementary filtering on the QR code data and the laser radar data. In controlling the movement of the mobile robot, the QR code navigation has high accuracy, but is limited by the distribution density and position of the QR code. In the area of ​​dense QR code, the speed estimation is more accurate, but in the area of ​​sparse or missing QR code, the speed estimation may be affected. Laser navigation has good continuity, can perceive the surrounding environment in real time, perform path planning and obstacle avoidance, and laser navigation estimates the speed by measuring the distance change with surrounding objects, but may be disturbed in complex environments. Complementary filtering can make full use of the advantages of these two navigation systems to achieve accurate estimation of speed. Complementary filtering sets weighting factors so that high-frequency updated sensors (such as lidar) play a leading role in smoothing sensor data (such as QR codes), while low-frequency but high-precision sensors (such as QR codes) provide correction information when high-frequency sensor data is unreliable. In this way, a more accurate and continuous velocity vector estimate, namely the filtered velocity vector, can be obtained.

[0049] After obtaining the filtered velocity vector and IMU data, these data are applied to control the motion of the mobile robot according to the preset target path. The IMU data provides continuous acceleration and angular velocity information, which helps fill the gaps between velocity vector updates and maintain the continuity of the mobile robot state. The control algorithm (such as PID controller, sliding mode controller, etc.) uses the filtered velocity vector and IMU data to calculate the deviation between the current state of the mobile robot and the target path. Based on the size and direction of the deviation, the algorithm dynamically adjusts the speed and steering of the mobile robot to keep it on the predetermined path.

[0050] Based on the preset target path, the first velocity vector and the second velocity vector are subjected to complementary filtering to obtain a more optimized velocity vector estimate, and then combined with IMU data for motion control, which is the key to the mobile robot's accurate positioning and navigation in complex environments. This control strategy makes full use of the characteristics of different sensors, improves positioning accuracy and motion control stability through data fusion, and ensures that the mobile robot can move efficiently and accurately when performing navigation tasks.

[0051] In a specific embodiment, before the first velocity vector and the second velocity vector are subjected to complementary filtering processing to obtain the filtered velocity vector, the method further includes: setting a time constant of the complementary filter, wherein the size of the time constant is positively correlated with the credibility of the first velocity vector, and the size of the time constant is negatively correlated with the credibility of the second velocity vector.

[0052] Specifically, in the multi-sensory fusion positioning and navigation technology, before the complementary filtering of the first velocity vector and the second velocity vector, setting the time constant of the complementary filter is an important parameter adjustment step. The setting of the time constant directly affects the weight distribution of the two sensor data in the fusion process, and further determines the accuracy and stability of the final velocity vector estimation. The specific explanation is as follows:

[0053] Definition of time constant (τ):

[0054] The time constant is a key parameter in the filter, which determines how quickly the filter responds to new data and how quickly it forgets old data. In the context of complementary filtering, the time constant determines the degree of weighting when sensor data is fused, that is, the relative importance of the two velocity vectors in the final fusion result.

[0055] The relationship between the time constant and the reliability of sensor data:

[0056] In the embodiment of the present application, the size of the time constant is positively correlated with the credibility of the first velocity vector (based on the laser radar), which means that the larger the time constant, the greater the influence of the laser radar data on the final fusion result. On the contrary, the size of the time constant is negatively correlated with the credibility of the second velocity vector (based on the QR code), that is, the larger the time constant, the smaller the influence of the QR code data on the final fusion result.

[0057] Time constant adjustment mechanism:

[0058] This time constant setting mechanism reflects the consideration of the data quality of different sensors. LiDAR usually provides continuous real-time environmental information and is more suitable for dynamic environments, but it may produce noise or errors under certain conditions (such as strong light, dust, etc.), and its credibility will be reduced. QR code positioning provides high-precision positioning information in areas with dense QR codes, but the update frequency is low and is limited by the existence and reading of QR codes. The credibility will decrease in dynamic environments or areas with sparse QR code distribution.

[0059] Effect of time constant adjustment:

[0060] By adjusting the time constant, when the credibility of the lidar data (first velocity vector) is high, the complementary filter will rely more on the lidar data and reduce the influence of the two-dimensional code data, which helps to improve the real-time and continuity of the velocity vector estimation in a dynamic environment. On the contrary, when the credibility of the two-dimensional code data (second velocity vector) is high, the complementary filter will rely more on the two-dimensional code data, which can provide a more accurate velocity vector estimation in a static environment or a known path.

[0061] Optimization of time constants:

[0062] The specific value of the time constant needs to be optimized according to the actual application scenario, including the performance of the LiDAR and QR code, environmental conditions, and the requirements of the mobile robot for positioning accuracy and response speed. Generally, the setting of the time constant is a process of trial and adjustment, aiming to find a balance point, that is, to ensure positioning accuracy while also taking into account the response speed and robustness of the system.

[0063] In summary, setting the time constant of the complementary filter is a key adjustment to the sensor data fusion strategy in the multi-sensory fusion positioning and navigation technology. It improves the positioning accuracy and navigation stability of the mobile robot in complex environments through weighted fusion based on the credibility of the sensor data. By setting the time constant reasonably, the contribution of different sensor data in the fusion process can be optimized, so that accurate mobile robot motion control can be achieved under various conditions.

[0064] In a specific embodiment, before the first velocity vector and the second velocity vector are subjected to complementary filtering to obtain the filtered velocity vector, the method further includes: determining a weighting factor of the complementary filter based on a time constant and a sampling period of the complementary filter, wherein the weighting factor is used to reflect the weight of the first velocity vector and the second velocity vector in affecting the filtered velocity vector.

[0065] Specifically, in the multi-sensory fusion positioning and navigation technology, the first velocity vector (usually based on LiDAR) and the second velocity vector (usually based on QR code or other high-precision but low-frequency positioning systems) are subjected to complementary filtering to obtain a more accurate filtered velocity vector, which is a key data processing step. Prior to this, determining the weighting factor of the complementary filter is an important step to ensure effective data fusion.

[0066] The time constant is an important parameter in the complementary filter, which determines the response speed of the filter to new data and the degree of influence on the old data. In the application embodiment, the size of the time constant is positively correlated with the credibility of the first velocity vector (lidar), which means that when the time constant is large, the lidar data occupies a greater weight in the fusion result. The size of the time constant is negatively correlated with the credibility of the second velocity vector (QR code), that is, as the time constant increases, the weight of the QR code data decreases accordingly, and vice versa. The sampling period refers to the time interval for sensor data updates. For high-frequency sensors such as lidar, the sampling period is short, while the sampling period of low-frequency sensors such as QR codes is longer. The sampling period has a direct impact on the calculation of the weighting factor, which in turn affects the weight of the sensor data in the fusion process. The weighting factor is calculated based on the time constant and the sampling period, and the weighting factor determines the weight distribution of the two velocity vectors when calculating the filtered velocity vector.

[0067] In a specific embodiment, the weighting factor of the complementary filter is determined according to the time constant and sampling period of the complementary filter, including: determining the weighting factor α of the complementary filter according to the formula α=τ / (τ+dt), wherein τ represents the time constant of the complementary filter, and dt represents the sampling period of the complementary filter.

[0068] Specifically, the weighting factor is calculated based on the time constant and sampling period of the complementary filter to reflect the relative importance of the two velocity vectors in the fusion result. The weighting factor is determined by the formula α = τ / (τ+dt). The time constant τ reflects the filter's dependence on historical data, and the sampling period dt is the time interval for sensor data update.

[0069] The size of the time constant τ is positively correlated with the credibility of the first velocity vector (based on the laser radar), which means that a larger τ value will make the laser radar data occupy a greater weight in the fusion process. This is because the laser radar can provide continuous position and direction information, which is more suitable for real-time positioning in a dynamic environment. In the embodiment of the present application, through debugging, the time constant τ is the optimal fixed value of 13.7; the sampling period dt reflects the update frequency of the data. For high-frequency sensors such as laser radar and IMU, the dt value is usually small, which means that their data update speed is fast, and for low-frequency sensors such as QR code reading, the dt value will be larger and the data update frequency is lower. In the embodiment of the present application, the sampling period is dt17 (the sensor is 5ms, and the value of three times is 15, because both acquisition and processing take time, and prime numbers are taken to ensure the effect).

[0070] The weighting factor is used to weight the two sensor data during the fusion process, determining their contribution to the calculation of the filtered velocity vector. When the time constant is large and the sampling period is small, the weighting factor is close to 1, which means that the complementary filter prefers to use the data of the first velocity vector (based on the lidar) because the sensor data that is updated at a high frequency and relatively stable in the current time window is more reliable. On the contrary, when the time constant is small or the sampling period is large, the weighting factor is close to 0, and the complementary filter prefers to use the data of the second velocity vector (based on the QR code) because it is more accurate on a long time scale.

[0071] By adjusting the time constant τ and the sampling period dt, the weighting factor can be optimized to achieve the optimal fusion of the first velocity vector and the second velocity vector in different environments. For example, in a static environment with stable light and uniform distribution of QR codes, the time constant can be reduced to increase the weight of the QR code data; while in a dynamic environment with rapid changes and complex light, the time constant can be increased to enhance the role of the lidar data.

[0072] In a specific embodiment of the present application, based on the above-mentioned preset target path, the motion control of the above-mentioned mobile robot is performed by applying the above-mentioned filtered velocity vector and the above-mentioned IMU data, including: applying SLAM technology based on the above-mentioned preset target path, using the above-mentioned filtered velocity vector and the above-mentioned IMU data to control the motion of the above-mentioned mobile robot.

[0073] Specifically, based on the preset target path, the mobile robot is controlled by applying the filtered velocity vector and IMU (inertial measurement unit) data, which involves the comprehensive application of SLAM (Simultaneous Localization and Mapping) technology and control algorithms. This process aims to enable the mobile robot to move accurately and efficiently along the preset path, which can be broken down into the following key steps:

[0074] Default destination path:

[0075] The target path is the guiding benchmark for the mobile robot's navigation task, which may be derived based on map information, task requirements, or path planning algorithms. It specifically describes the route that the mobile robot needs to follow and the expected target location, providing goal guidance for the mobile robot's motion control.

[0076] SLAM technology applications:

[0077] SLAM technology is a technology that allows mobile robots to build maps in unknown environments and locate themselves at the same time. In the embodiment of the present application, the SLAM algorithm uses feature point matching and grid map construction. The use of SLAM technology focuses on real-time positioning based on multi-sensor data (filtered velocity vector and IMU data), which can maintain the positioning accuracy of the mobile robot even in unknown or changing environments. SLAM technology usually includes three main parts: sensor data acquisition, data processing and information fusion, and state estimation and map update.

[0078] Utilization of filtered velocity vector:

[0079] The filtered velocity vector is obtained by integrating multiple sensor information (such as lidar, QR code reader, etc.) through complementary filtering. It provides more accurate speed and direction information and reduces noise and uncertainty. This vector is used in SLAM technology to update the position estimate of the mobile robot to ensure that it can stably follow the preset path in a dynamic environment.

[0080] IMU data fusion:

[0081] IMU data, including acceleration and angular velocity, is used to provide the dynamic motion state of the mobile robot. Its role in SLAM technology is to supplement the temporal continuity of sensor data, especially when LiDAR or QR code information is unavailable or inaccurate, IMU data can maintain the continuity and stability of positioning based on inertial information.

[0082] Motion Control Algorithms:

[0083] Motion control algorithms, such as PID (proportional-integral-derivative) control or more complex model predictive control, adjust the speed and direction of the mobile robot based on the real-time positioning information and preset target path obtained by SLAM technology to minimize the deviation from the preset path. The control algorithm uses the filtered velocity vector and IMU data to calculate the required motion parameters, such as linear velocity, angular velocity, steering angle, etc., to guide the movement of the mobile robot.

[0084] Control execution:

[0085] Finally, according to the instructions obtained by the motion control algorithm, the mobile robot's drive system (such as wheels, tracks or propellers) makes corresponding motion adjustments to achieve precise navigation along the preset path.

[0086] Combining the above steps, applying filtered velocity vectors and IMU data for motion control based on the preset target path is the key to the mobile robot's autonomous navigation in a complex environment. SLAM technology ensures the positioning accuracy of the mobile robot, the filtered velocity vector provides more accurate motion parameters, and the IMU data ensures the continuity and stability of positioning. Through the combination and application of these technologies, the mobile robot can adjust its own motion state in real time, accurately drive along the preset path, and maintain good navigation performance even in dynamic and unknown environments.

[0087] In one embodiment of the present application, before obtaining laser sensor data, QR code data and IMU data during the movement of the mobile robot, the method further includes: initializing the laser radar that collects the laser sensor data, the camera that collects the QR code data and the IMU that collects the IMU data.

[0088] Specifically, before the mobile robot starts its navigation task and acquires laser sensor data, QR code data, and IMU (inertial measurement unit) data during movement, initialization of the sensor is a necessary step to ensure data acquisition accuracy and system stability. This process lays the foundation for subsequent data fusion and motion control, including the initialization of lidar, camera, and IMU.

[0089] Initialization of LiDAR:

[0090] LiDAR is a key sensor for mobile robots to obtain three-dimensional information about the environment. Initialization includes hardware inspection and software configuration. Hardware inspection ensures that the LiDAR works properly and is not blocked or damaged. Software configuration includes setting the working mode, scanning range and resolution of the LiDAR, as well as the communication protocol with the mobile robot control system. In addition, zero-point calibration is performed to ensure that the data of the LiDAR in a stationary state accurately reflects its surrounding environment.

[0091] Camera initialization:

[0092] The camera is used to identify QR codes or environmental features. The initialization process also includes hardware inspection and parameter setting. The hardware inspection confirms that the camera lens is clean, unobstructed, and stably fixed to the mobile robot. Parameter setting includes adjusting the camera's exposure, gain, focal length, field of view, etc. to adapt to the lighting conditions and distance of the mobile robot's working environment. At the same time, it is necessary to ensure that the camera is synchronized with the control system and that data transmission is smooth.

[0093] Initialization of IMU:

[0094] IMU initialization ensures the accuracy of the accelerometer and gyroscope, including hardware checks and calibration. Hardware checks ensure that the IMU has no physical damage and is firmly fixed to the mobile robot. The calibration process involves eliminating sensor bias, scale factor error, and temperature drift, and through warm-up, static, and dynamic calibration steps, the IMU can provide accurate data about the dynamics of the mobile robot after startup. At the same time, the data output frequency of the IMU is set to match the update rate of other sensors and the processing power of the control system.

[0095] The initialization of the sensor is the first step in starting the entire navigation system, which directly affects the accuracy and reliability of subsequent data collection. Through initialization, the sensor can be ensured to work in the best condition and reduce the measurement error caused by equipment failure or improper setting. In addition, initialization also includes establishing a stable communication connection with the mobile robot control system to ensure that the sensor data can be transmitted to the control center in a timely and accurate manner, providing a real-time data source for data fusion and motion control. Once the lidar, camera and IMU are initialized, they will begin to continuously collect data during the movement of the mobile robot. The lidar provides three-dimensional point cloud information of the environment, the camera captures QR codes or environmental features, and the IMU records the acceleration and angular velocity of the mobile robot. These data will be used for subsequent data fusion processing to generate accurate velocity vectors and positioning information, providing a basis for stable navigation and precise control of the mobile robot.

[0096] In order to enable those skilled in the art to more clearly understand the technical solution of the present application, the implementation process of the method for controlling the movement of a mobile robot of the present application will be described in detail below in combination with specific embodiments.

[0097] This embodiment relates to a specific method for controlling the movement of a mobile robot, such as Figure 3As shown in the figure, first, the mobile robot is started to prepare to receive the task and start its operation process; before the mobile robot officially starts to perform the task, all sensors (lidar, QR code reader, IMU, etc.) are initialized, and the working parameters are set to ensure the accuracy of data collection; then, the complementary filter is designed, and the parameters of the complementary filter, such as the time constant (τ) and the sampling period (dt), are designed and set for the subsequent fusion processing of the velocity vector; the SLAM technology is applied to build the environment map in real time based on the sensor data and determine the position of the mobile robot in the map; the mobile robot receives specific tasks, including information such as the target location and the items to be transported, to provide targets for subsequent path planning and navigation.

[0098] After the mobile robot receives the task, Figure 3 As shown, laser radar-based data processing is performed. The laser radar scans the environment and obtains the distance information of surrounding objects, which can be used to build an environmental map and positioning; then, laser navigation data processing is performed to extract feature points and calculate the movement speed and direction of the mobile robot; it is determined whether the data verification is successful. If the data verification is unsuccessful, it returns to execute "laser radar scanning the environment". If the data verification is successful, the first velocity vector is obtained;

[0099] After the mobile robot receives the task, Figure 3 As shown, data processing based on the QR code is performed. First, the QR code image is captured. The QR code usually contains preset path information or positioning reference points; then, the QR code navigation data is processed, the QR code information is parsed, and the positioning data of the mobile robot, including direction and speed, is obtained; it is determined whether the data verification is successful. If the data verification is unsuccessful, it returns to execute "capturing the QR code image", and if the data verification is successful, the second velocity vector is obtained; the first velocity vector and the above-mentioned second velocity vector are weighted by filters, and the first velocity vector and the above-mentioned second velocity vector are subjected to complementary filtering to obtain the filtered velocity vector; the IMU continuously measures the motion information of the mobile robot, including acceleration and angular velocity; the mobile robot is controlled in motion through the filtered velocity vector and IMU data to achieve stable driving.

[0100] Specifically, the camera scans the QR code, identifies the feature points through the information in the QR code, obtains the location of the mobile robot, and obtains the speed and direction of the mobile robot's movement v1=a1+2a2x 1 +3a3x 2 …. At the same time, the laser radar scans the feature points in the environment, obtains the position of the mobile robot, and calculates the speed and direction of movement v2=b1+2b2x 1 +3b3x 2 …. At the same time, the IMU obtains the acceleration and angular velocity information of the mobile robot.

[0101] The embodiment of the present application also provides a device for controlling the movement of a mobile robot. It should be noted that the device for controlling the movement of a mobile robot in the embodiment of the present application can be used to execute the method for controlling the movement of a mobile robot provided in the embodiment of the present application. The device is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware for a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceived.

[0102] The following is an introduction to the device for controlling the movement of a mobile robot provided in an embodiment of the present application.

[0103] Figure 4 is a structural block diagram of a device for controlling the movement of a mobile robot according to an embodiment of the present application. Figure 4 As shown, the device comprises:

[0104] An acquisition unit 10 is used to acquire laser sensor data, QR code data and IMU data during the movement of the mobile robot;

[0105] Specifically, in the acquisition unit, laser sensing data is usually acquired by Laser Radar (LiDAR). LiDAR calculates the two-dimensional or three-dimensional position information of an object by emitting laser pulses and detecting the time and intensity of these pulses reflected from an object. In a mobile robot, LiDAR can scan the surrounding environment in real time, identify obstacles, walls, and other environmental features, and thus determine the position and direction of the mobile robot. The acquisition of laser sensing data is the basis for the mobile robot to perceive and understand the environment in real time, and is crucial for dynamic path planning and obstacle avoidance.

[0106] QR code data acquisition usually involves the use of a camera or a dedicated QR code reader. A QR code is a graphic code that stores information in two dimensions and can be designed to be placed in the working environment of a mobile robot. Mobile robots obtain key positioning information by reading these QR codes, including current position, direction, and possible motion instructions. QR code data plays an important role in preset path navigation, positioning calibration, and environmental recognition, especially in static or semi-static environments that require high-precision positioning.

[0107] IMU (Inertial Measurement Unit) data includes acceleration, angular velocity, and possible magnetic data, provided by built-in sensors such as accelerometers, gyroscopes, and magnetometers. IMU data is used to determine the motion state of the mobile robot, including acceleration, angular velocity, orientation, etc., and can provide continuous motion information even in an environment without an external reference signal. In multi-sensory fusion positioning and navigation, the continuity and high-frequency update characteristics of IMU data make it an important source of information to supplement other sensor data when it is interrupted, inaccurate, or unavailable.

[0108] A determination unit 20, configured to determine a first velocity vector of the mobile robot according to the laser sensor data, and to determine a second velocity vector of the mobile robot according to the two-dimensional code data;

[0109] Specifically, in the determination unit, the laser radar can obtain real-time environmental features, such as the distance and direction of obstacles, by emitting lasers to the surrounding environment and receiving reflected signals. When processing these data, the point cloud information returned by the laser radar can be analyzed by an algorithm to identify the relative changes of the mobile robot relative to the surrounding environment. This change usually includes the movement of the mobile robot's position and the change of its posture. Through continuous point cloud comparison, the change in the position of the mobile robot in a short period of time can be calculated, and then the instantaneous speed and direction of the mobile robot can be calculated by the time difference method. The combination of the speed magnitude feature and the direction feature is the first speed vector. When the mobile robot identifies its current position by reading the QR code, the movement of the mobile robot between the QR codes can be determined by comparing the QR code information read continuously. Since the QR code provides accurate position information, the average speed and direction of the mobile robot between the QR codes can be calculated by the change in position before and after the QR code is read and the time difference. The combination of the average speed magnitude feature and the direction feature is the second speed vector.

[0110] The control unit 30 is used to control the motion of the mobile robot based on a preset target path and by applying the first velocity vector, the second velocity vector and the IMU data.

[0111] Specifically, in the control unit, the preset target path is the guidance plan for the mobile robot's navigation task, which is usually planned before the task begins, including the route the mobile robot needs to follow and the target location it expects to reach. This path can be based on feature points in the map, dynamic programming algorithms, and previous environmental scans and perception data.

[0112] The first velocity vector provides real-time speed and direction information of the mobile robot based on the results of the laser radar environment scan, focusing on precise control in dynamic environments. The second velocity vector provides more stable and accurate speed and direction information under static or preset paths based on the reading results of the QR code. IMU data includes acceleration, angular velocity, and possible magnetic information, which are used to continuously track the dynamic changes of the mobile robot in three-dimensional space, and provide continuous motion state information even when other sensor data are not available. By comparing the position and direction measured by the current sensor with the preset target path, the deviation between the mobile robot and the target path can be calculated. Using the first velocity vector, the second velocity vector, and the IMU data, combined with the control algorithm (such as PID control, model predictive control, etc.), the speed and direction of the mobile robot are adjusted to minimize the deviation and achieve accurate path tracking. For example, if the mobile robot deviates from the preset path, the position can be corrected by adjusting the movement speed and steering; if an obstacle is detected, the path can be adjusted in time to avoid collision. In the motion control process, a data fusion algorithm is used to integrate the first velocity vector, the second velocity vector, and the IMU data.

[0113] In the embodiment of the present application, the control unit includes:

[0114] A processing module, used for complementary filtering the first velocity vector and the second velocity vector to obtain a filtered velocity vector;

[0115] Specifically, the first velocity vector (based on laser radar) and the second velocity vector (based on QR code) are fused in the processing module through complementary filtering. Complementary filtering is a simple and effective data fusion method, which combines the characteristics of low-pass filter and high-pass filter, and complements the advantages of two sensor data by weighted summation. In the embodiment of the present application, Kalman filtering is used to perform complementary filtering on QR code data and laser radar data. In controlling the movement of the mobile robot, the QR code navigation has high accuracy, but is limited by the distribution density and position of the QR code. In the area of ​​dense QR code, the speed estimation is more accurate, but in the area of ​​sparse or missing QR code, the speed estimation may be affected. Laser navigation has good continuity, can perceive the surrounding environment in real time, perform path planning and obstacle avoidance, and laser navigation estimates the speed by measuring the distance change with surrounding objects, but may be disturbed in complex environments. Complementary filtering can make full use of the advantages of these two navigation systems to achieve accurate estimation of speed. Complementary filtering sets weighting factors so that high-frequency updated sensors (such as lidar) play a leading role in smoothing sensor data (such as QR codes), while low-frequency but high-precision sensors (such as QR codes) provide correction information when high-frequency sensor data is unreliable. Through the processing module, a more accurate and continuous velocity vector estimate can be obtained, namely the filtered velocity vector.

[0116] A control module is used to control the motion of the mobile robot based on the preset target path and by applying the filtered velocity vector and IMU data.

[0117] Specifically, in the control module, after obtaining the filtered velocity vector and IMU data, these data are applied to control the motion of the mobile robot according to the preset target path. The IMU data provides continuous acceleration and angular velocity information, which helps to fill the gaps between velocity vector updates and maintain the continuity of the mobile robot's state. The control algorithm (such as PID controller, sliding mode controller, etc.) uses the filtered velocity vector and IMU data to calculate the deviation between the current state of the mobile robot and the target path. According to the size and direction of the deviation, the algorithm dynamically adjusts the speed and steering of the mobile robot to keep it on the predetermined path. Based on the preset target path, the first velocity vector and the second velocity vector are subjected to complementary filtering to obtain a more optimized velocity vector estimate, which is then combined with the IMU data for motion control, which is the key to the mobile robot's precise positioning and navigation in complex environments.

[0118] In the embodiment of the present application, before the first velocity vector and the second velocity vector are subjected to complementary filtering to obtain the filtered velocity vector, the apparatus further comprises:

[0119] The setting unit is used to set the time constant of the complementary filter, wherein the size of the time constant is positively correlated with the credibility of the first velocity vector, and the size of the time constant is negatively correlated with the credibility of the second velocity vector.

[0120] Specifically, in the multi-sensory fusion positioning and navigation technology, setting the time constant of the complementary filter before the complementary filtering of the first velocity vector and the second velocity vector is an important parameter adjustment step. The setting of the time constant directly affects the weight distribution of the two sensor data in the fusion process, and then determines the accuracy and stability of the final velocity vector estimation. The size of the time constant is positively correlated with the credibility of the first velocity vector (based on the lidar), which means that the larger the time constant, the greater the influence of the lidar data on the final fusion result. On the contrary, the size of the time constant is negatively correlated with the credibility of the second velocity vector (based on the QR code), that is, the larger the time constant, the smaller the influence of the QR code data on the final fusion result.

[0121] In the embodiment of the present application, before the first velocity vector and the second velocity vector are subjected to complementary filtering to obtain the filtered velocity vector, the apparatus further comprises:

[0122] The weighting factor determination unit is used to determine the weighting factor of the complementary filter according to the time constant and sampling period of the complementary filter, wherein the weighting factor is used to reflect the weight of the first velocity vector and the second velocity vector affecting the filtered velocity vector.

[0123] Specifically, the time constant determines the response speed of the filter to new data and the degree of influence on old data. In an embodiment of the present application, the size of the time constant is positively correlated with the credibility of the first velocity vector (lidar), which means that when the time constant is large, the lidar data occupies a greater weight in the fusion result. The size of the time constant is negatively correlated with the credibility of the second velocity vector (QR code), that is, as the time constant increases, the weight of the QR code data decreases accordingly, and vice versa. The sampling period refers to the time interval for sensor data to be updated. For high-frequency sensors such as lidar, the sampling period is short, while the sampling period of low-frequency sensors such as QR codes is longer. The sampling period has a direct impact on the calculation of the weighting factor, which in turn affects the weight of the sensor data in the fusion process. The weighting factor is calculated based on the time constant and the sampling period, and the weighting factor determines the weight distribution of the two velocity vectors when calculating the filtered velocity vector.

[0124] In a specific embodiment, the weighting factor determination unit includes: determining the weighting factor α of the complementary filter according to the formula α=τ / (τ+dt), wherein τ represents the time constant of the complementary filter, and dt represents the sampling period of the complementary filter.

[0125] Specifically, the weighting factor is calculated based on the time constant and sampling period of the complementary filter to reflect the relative importance of the two velocity vectors in the fusion result. The weighting factor is determined by the formula α = τ / (τ+dt). The time constant τ reflects the filter's dependence on historical data, and the sampling period dt is the time interval for sensor data update.

[0126] The size of the time constant τ is positively correlated with the credibility of the first velocity vector (based on the lidar), which means that a larger τ value will make the lidar data have a greater weight in the fusion process. This is because lidar can provide continuous position and direction information, which is more suitable for real-time positioning in dynamic environments. The sampling period dt reflects the frequency of data update. For high-frequency sensors such as lidar and IMU, the dt value is usually small, which means that their data update speed is fast, while for low-frequency sensors such as QR code reading, the dt value will be large and the data update frequency will be low.

[0127] The weighting factor is used to weight the two sensor data during the fusion process, determining their contribution to the calculation of the filtered velocity vector. When the time constant is large and the sampling period is small, the weighting factor is close to 1, which means that the complementary filter prefers to use the data of the first velocity vector (based on the lidar) because the sensor data that is updated at a high frequency and relatively stable in the current time window is more reliable. On the contrary, when the time constant is small or the sampling period is large, the weighting factor is close to 0, and the complementary filter prefers to use the data of the second velocity vector (based on the QR code) because it is more accurate on a long time scale.

[0128] By adjusting the time constant τ and the sampling period dt, the weighting factor can be optimized to achieve the optimal fusion of the first velocity vector and the second velocity vector in different environments. For example, in a static environment with stable light and uniform distribution of QR codes, the time constant can be reduced to increase the weight of the QR code data; while in a dynamic environment with rapid changes and complex light, the time constant can be increased to enhance the role of the lidar data.

[0129] In a specific embodiment of the present application, the control module includes: applying SLAM technology based on the preset target path, using the filtered velocity vector and the IMU data to control the motion of the mobile robot.

[0130] Specifically, the control module is intended to enable the mobile robot to move accurately and efficiently along a preset path. SLAM technology is a technology that allows a mobile robot to build a map in an unknown environment and simultaneously locate itself. In the embodiment of the present application, the use of SLAM technology focuses on real-time positioning based on multi-sensor data (filtered velocity vector and IMU data), and the positioning accuracy of the mobile robot can be maintained even in an unknown or changing environment. SLAM technology generally includes three main parts: sensor data acquisition, data processing and information fusion, and state estimation and map update. The filtered velocity vector is obtained by integrating multiple sensor information (such as laser radar, two-dimensional code reader, etc.) through complementary filtering. It provides more accurate speed and direction information and reduces noise and uncertainty. This vector is used in SLAM technology to update the position estimate of the mobile robot to ensure that it can stably follow the preset path in a dynamic environment. IMU data, including acceleration and angular velocity, is used to provide the dynamic motion state of the mobile robot. Its role in SLAM technology is to supplement the continuity of sensor data in time, especially when laser radar or two-dimensional code information is unavailable or inaccurate, IMU data can maintain the continuity and stability of positioning based on inertial information.

[0131] The mobile robot is subjected to motion control, such as PID (proportional-integral-differential) control or more complex model predictive control, based on the real-time positioning information obtained by SLAM technology and the preset target path, to adjust the speed and direction of the mobile robot to minimize the deviation from the preset path. The control algorithm uses the filtered velocity vector and IMU data to calculate the required motion parameters, such as linear velocity, angular velocity, steering angle, etc., to guide the movement of the mobile robot. According to the instructions obtained by the motion control algorithm, the drive system of the mobile robot (such as wheels, tracks or propellers) makes corresponding motion adjustments to achieve precise navigation along the preset path.

[0132] Based on the preset target path, applying filtered velocity vectors and IMU data for motion control is the key to the mobile robot's autonomous navigation in complex environments. SLAM technology ensures the positioning accuracy of the mobile robot, the filtered velocity vector provides more accurate motion parameters, and the IMU data ensures the continuity and stability of positioning. Through the combination and application of these technologies, the mobile robot can adjust its own motion state in real time, accurately drive along the preset path, and maintain good navigation performance even in dynamic and unknown environments.

[0133] In one embodiment of the present application, before acquiring the laser sensor data, the QR code data and the IMU data during the movement of the mobile robot, the above-mentioned device further includes:

[0134] An initialization unit is used to initialize the laser radar that collects the above-mentioned laser sensor data, the camera that collects the above-mentioned two-dimensional code data, and the IMU that collects the above-mentioned IMU data.

[0135] Specifically, the initialization unit is used to initialize the laser radar, camera and IMU. The initialization of the laser radar includes hardware inspection and software configuration. The hardware inspection ensures that the laser radar works normally, without obstruction and damage. The software configuration includes setting the working mode, scanning range and resolution of the laser radar, as well as the communication protocol with the mobile robot control system. In addition, zero point calibration is performed to ensure that the data of the laser radar in a static state accurately reflects its surrounding environment. The initialization process of the camera also includes hardware inspection and parameter setting. The hardware inspection confirms that the camera lens is clean, unobstructed, and stably fixed to the mobile robot. Parameter setting includes adjusting the camera's exposure, gain, focal length, field of view, etc. to adapt to the lighting conditions and distance of the mobile robot's working environment. At the same time, it is necessary to ensure that the camera is synchronized with the control system and that data transmission is smooth. The initialization of the IMU includes hardware inspection and calibration. The hardware inspection ensures that the IMU has no physical damage and is firmly fixed to the mobile robot. The calibration process involves eliminating sensor bias, scale factor error and temperature drift, and through warm-up, static and dynamic calibration steps, the IMU can provide accurate data about the dynamics of the mobile robot after startup. At the same time, set the data output frequency of the IMU to match the update rate of other sensors and the processing power of the control system.

[0136] The device for controlling the movement of the mobile robot includes a processor and a memory. The acquisition unit, the determination unit, the control unit, etc. are all stored in the memory as program units, and the processor executes the program units stored in the memory to implement corresponding functions. The modules are all located in the same processor; or, the modules are located in different processors in any combination.

[0137] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.

[0138] An embodiment of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium includes a stored program, wherein when the program is executed, the device where the computer-readable storage medium is located is controlled to execute the method for controlling the movement of a mobile robot.

[0139] An embodiment of the present invention provides a processor, and the processor is used to run a program, wherein the method for controlling the movement of a mobile robot is executed when the program is run.

[0140] An embodiment of the present invention provides an electronic device, which includes a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, steps of a method for controlling the movement of a mobile robot are implemented.

[0141] The present application also provides a computer program product, which, when executed on a data processing device, is suitable for executing a program that initializes the steps of the method for controlling the movement of a mobile robot:

[0142] Obviously, those skilled in the art should understand that the above modules or steps of the present invention can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order than here, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present invention is not limited to any specific combination of hardware and software.

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

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

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

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

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

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

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

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

[0151] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A method for controlling the motion of a mobile robot, characterized in that: include: Acquire laser sensor data, QR code data, and IMU data during the movement of the mobile robot; Determine a first velocity vector of the mobile robot according to the laser sensor data, and determine a second velocity vector of the mobile robot according to the two-dimensional code data; Based on a preset target path, the first velocity vector, the second velocity vector and IMU data are applied to perform motion control on the mobile robot.

2. The method according to claim 1, characterized in that Based on a preset target path, the first velocity vector, the second velocity vector and IMU data are applied to control the motion of the mobile robot, including: Performing complementary filtering on the first velocity vector and the second velocity vector to obtain a filtered velocity vector; Based on the preset target path, the mobile robot is motion controlled by applying the filtered velocity vector and IMU data.

3. The method according to claim 2, characterized in that Before performing complementary filtering on the first velocity vector and the second velocity vector to obtain a filtered velocity vector, the method further includes: A time constant of the complementary filter is set, wherein the magnitude of the time constant is positively correlated with the credibility of the first velocity vector, and the magnitude of the time constant is negatively correlated with the credibility of the second velocity vector.

4. The method according to claim 2, characterized in that: Before performing complementary filtering on the first velocity vector and the second velocity vector to obtain a filtered velocity vector, the method further includes: A weighting factor of the complementary filter is determined according to a time constant and a sampling period of the complementary filter, wherein the weighting factor is used to reflect the weight of the first velocity vector and the second velocity vector in affecting the filtered velocity vector.

5. The method according to claim 4, characterized in that Determining a weighting factor of the complementary filter according to a time constant and a sampling period of the complementary filter includes: The weighting factor α of the complementary filter is determined according to the formula α=τ / (τ+dt), wherein τ represents the time constant of the complementary filter and dt represents the sampling period of the complementary filter.

6. The method according to claim 2, characterized in that Based on the preset target path, the mobile robot is motion controlled by applying the filtered velocity vector and the IMU data, including: The SLAM technology is applied based on the preset target path, and the filtered velocity vector and the IMU data are used to control the motion of the mobile robot.

7. The method according to claim 1, characterized in that Before acquiring the laser sensor data, the QR code data and the IMU data during the movement of the mobile robot, the method further includes: Initialize the laser radar that collects the laser sensor data, the camera that collects the two-dimensional code data, and the IMU that collects the IMU data.

8. A device for controlling the movement of a mobile robot, characterized in that: include: An acquisition unit, used to acquire laser sensor data, QR code data and IMU data during the movement of the mobile robot; a determining unit, configured to determine a first velocity vector of the mobile robot according to the laser sensing data, and to determine a second velocity vector of the mobile robot according to the two-dimensional code data; A control unit is used to control the motion of the mobile robot based on a preset target path and by applying the first velocity vector, the second velocity vector and IMU data.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored program, wherein when the program is executed, the device where the computer-readable storage medium is located is controlled to execute the method for controlling the movement of a mobile robot according to any one of claims 1 to 7.

10. An electronic device, characterized in that: include: One or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, and the one or more programs include a method for controlling the movement of a mobile robot as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method for discretizing complex road condition into footholds of multi-foot robot based on three-dimensional imaging

    CN107644441A

  • Multi-sensor-based trackless omnidirectional mobile robot system and control method thereof

    CN109491390A

  • Navigation method and device, server, equipment, system and storage medium

    CN113654558A

  • Mobile robot positioning system and method based on two-dimensional code vision and laser SLAM

    CN115014338A

  • Coke oven locomotive alignment method and device, storage medium and equipment

    CN115860020A