Robot traveling control method and robot

By adjusting the robot's driving parameters, the problem of the robot slipping in humid environments was solved, ensuring stable operation in the warehousing system and improving efficiency.

WO2026124272A1PCT designated stage Publication Date: 2026-06-18BEIJING GEEKPLUS TECH CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
BEIJING GEEKPLUS TECH CO LTD
Filing Date
2025-12-01
Publication Date
2026-06-18

AI Technical Summary

Technical Problem

Robots are prone to slipping in wet environments, causing them to deviate from their original path and reducing the efficiency of the warehousing system.

Method used

By acquiring the robot's tasks to be performed and reference driving parameters, the robot is controlled to move in the target warehouse. Driving information is collected through detection devices, and driving parameters are adjusted to adapt to the environment, including determining reference driving parameters and target driving parameters, to ensure that the robot operates stably on the planned path.

🎯Benefits of technology

It improves the robot's adaptability to different environments, reduces slippage, and enhances the efficiency of the warehousing system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025138966_18062026_PF_FP_ABST
    Figure CN2025138966_18062026_PF_FP_ABST
Patent Text Reader

Abstract

A robot traveling control method and a robot, which are applied to the technical field of warehouse logistics. The method comprises: acquiring a task to be executed corresponding to a robot; wherein said task comprises a planned path (110); on the basis of a reference traveling parameter corresponding to the robot, controlling the robot to travel in a target warehouse along the planned path (120); collecting target traveling information of the robot during traveling in the target warehouse by means of a detection apparatus of the robot (130); determining a traveling error parameter of the robot on the basis of the target traveling information and the planned path (140); and adjusting the reference traveling parameter on the basis of the traveling error parameter to obtain a target traveling parameter, and controlling the robot to travel along the planned path on the basis of the target traveling parameter, so as to complete said task (150).
Need to check novelty before this filing date? Find Prior Art

Description

Methods for controlling robot movement and robots

[0001] This application claims application number 202411844699.X, filed on December 13, 2024, the entire contents of which are incorporated herein by reference. Technical Field

[0002] This disclosure relates to the field of warehousing and logistics technology, and in particular to a method for controlling the movement of a robot and the robot itself. Background Technology

[0003] Typically, robots can travel along planned paths in a warehouse to perform corresponding tasks. However, due to their limited adaptability to the environment, when the environment changes, such as during the humid season, the warehouse floor is prone to damp areas. Robots can easily slip when passing through these damp areas, causing them to deviate from their original paths during operation. This significantly impacts the robot's movement and reduces the efficiency of the warehousing system. Summary of the Invention

[0004] This disclosure provides a method for controlling the movement of a robot and a robot.

[0005] The first aspect of this disclosure provides a method for controlling robot movement, applied to a robot in a warehousing system. The method includes: first, acquiring a task to be performed for the robot, wherein the task includes a planned path; second, controlling the robot to move along the planned path in a target warehouse based on reference driving parameters; then, collecting target driving information of the robot during its movement in the target warehouse using the robot's detection device; next, determining driving error parameters for the robot based on the target driving information and the planned path; and finally, adjusting the reference driving parameters based on the driving error parameters to obtain target driving parameters, and controlling the robot to move along the planned path based on the target driving parameters to complete the task.

[0006] A second aspect of this disclosure provides a method for controlling robot movement. This method is applied to a server in a warehousing system. The method includes: first, receiving a first position, a first friction coefficient, and a first timestamp indicating that the robot slipped at the first position from a robot in the warehousing system; wherein the first position is the location where the robot slipped in a target warehouse. Then, based on the first position, the first friction coefficient, and the first timestamp, updating an initial friction coefficient map corresponding to the target warehouse to obtain a target friction coefficient map; wherein the target friction coefficient map includes mapping relationships between multiple positions where each robot slipped in the target warehouse and multiple friction coefficients and multiple timestamps.

[0007] A third aspect of this disclosure provides a robot, including an acquisition module, a control module, a data acquisition module, and a determination module. The acquisition module is configured to acquire a task to be executed corresponding to the robot, wherein the task to be executed includes a planned path. The control module is configured to control the robot to travel along the planned path in a target warehouse based on reference driving parameters corresponding to the robot. The data acquisition module is configured to acquire target driving information of the robot during its travel in the target warehouse. The determination module is configured to determine the robot's driving error parameters based on the target driving information and the planned path; and adjust the reference driving parameters based on the driving error parameters to obtain the target driving parameters. The control module is configured to allow the robot to travel along the planned path based on the target driving parameters to complete the task to be executed.

[0008] A fourth aspect of this disclosure provides an electronic device, including: a processor and a memory, the memory being used to store computer-executable instructions; the processor being used to read the instructions from the memory and execute the instructions to implement the method for controlling a robot to move as described in the first aspect above.

[0009] A fifth aspect of this disclosure provides a computer-readable storage medium storing computer program instructions, which, when read by a computer, execute the method for controlling a robot to move as described in the first aspect.

[0010] A sixth aspect of this disclosure provides a computer program product comprising a computer program stored on a non-transitory computer-readable storage medium, the computer program including program instructions that, when executed by a computer, cause the computer to perform the method for controlling the movement of a robot as described in the first aspect.

[0011] A seventh aspect of this disclosure provides a computer program that, when executed by a processor, can implement the method for controlling a robot to move as described in the first aspect. Attached Figure Description

[0012] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0013] Figure 1 is a schematic diagram of a method for controlling the movement of a robot according to an embodiment of this disclosure;

[0014] Figure 2 is a schematic diagram of another method for controlling the movement of a robot provided in an embodiment of this disclosure;

[0015] Figure 3 is a schematic diagram of another method for controlling the movement of a robot provided in an embodiment of this disclosure;

[0016] Figure 4 is a schematic diagram of determining the robot's driving speed according to an embodiment of this disclosure;

[0017] Figure 5 is a schematic diagram of another method for controlling the movement of a robot provided in an embodiment of this disclosure;

[0018] Figure 6 is a schematic diagram of another method for controlling the movement of a robot provided in an embodiment of this disclosure;

[0019] Figure 7 is a schematic diagram of a robot provided in an embodiment of this disclosure;

[0020] Figure 8 is a schematic diagram of an electronic device provided in an embodiment of this disclosure. Detailed Implementation

[0021] To enable those skilled in the art to better understand the technical solutions in the embodiments of the present invention, and to make the above-mentioned objectives, features and advantages of the embodiments of the present invention more apparent and understandable, the technical solutions in the embodiments of the present invention will be further described in detail below with reference to the accompanying drawings.

[0022] With the development of intelligent technology, robots are being used more and more widely in warehousing systems, and their numbers are increasing. Intelligent warehousing is gradually replacing manual picking, and robot picking brings higher picking efficiency compared to manual picking. Typically, a Robot Management System (RMS) can schedule robots in the warehousing system to operate in the inventory to perform corresponding tasks, such as handling and picking. However, in related technologies, the insufficient adaptability of robots to the environment has gradually become apparent in intelligent warehousing. For example, the humid weather common in southern regions can make warehouse floors slippery, causing robots to slip and deviate from their intended routes, resulting in a significant decrease in picking efficiency and thus a substantial impact on the picking efficiency of intelligent warehousing.

[0023] To overcome the problem of robots deviating from their intended routes during operation due to environmental influences, this disclosure provides a method and a robot for controlling robot movement, which can improve the robot's adaptability to the environment, reduce the occurrence of robot slippage in warehouses, and improve the working efficiency of the warehousing system.

[0024] The method for controlling the movement of a robot provided in the embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.

[0025] Figure 1 is a schematic diagram of a method for controlling the movement of a robot according to an embodiment of this disclosure. As shown in Figure 1, the method includes steps 110 to 150 as described below.

[0026] In some examples, the method for controlling the movement of the robot shown in Figure 1 can be applied to robots in a warehousing system, and the robot can be any robot in the warehousing system. For example, the robot can be a handling robot used to move containers or carriers in a warehousing system, or a cargo robot that picks up / places containers on a carrier, etc. The embodiments of this disclosure do not limit the type of robot.

[0027] Step 110: Obtain the task to be executed for the robot.

[0028] In some examples, the RMS can send a task to be performed to the robot, where the task includes a planned path. After receiving the task, the robot executes the task according to the planned path. For example, the task can be a transport task. During the execution of the transport task according to the planned path, the robot can be either empty or loaded, and this disclosure does not limit this.

[0029] Step 120: Based on the robot's corresponding reference driving parameters, control the robot to drive in the target warehouse according to the planned path.

[0030] For example, the robot's driving parameters may include acceleration or deceleration during the robot's movement. For instance, the robot may navigate through a target warehouse according to reference driving parameters to perform a task.

[0031] In some examples, the reference driving parameters can be the initially set driving parameters in the robot (also known as preset driving parameters). Each robot can have its own set of preset driving parameters, which can be the same or different for each robot.

[0032] In other examples, the robot's reference driving parameters can also be the driving parameters determined by each robot for the target warehouse.

[0033] For example, since each warehouse has a different environment, using the same driving parameters (such as preset driving parameters) to navigate different warehouses may affect the robot's movement. For instance, using preset driving parameters in a dry warehouse may ensure normal robot operation, but using the same parameters in a wet or complex warehouse may affect the robot's movement, causing slippage or other abnormal situations, thus impacting the robot's operational stability.

[0034] Therefore, embodiments of this disclosure can determine the robot's driving parameters (i.e., reference driving parameters) for different warehouses. In other words, the robot's driving parameters may differ depending on the warehouse in which it is located. For example, when the robot is driving in a target warehouse, reference driving parameters relative to the target warehouse can be determined first, thereby controlling the robot to operate in the target warehouse based on these reference driving parameters. By setting corresponding driving parameters for different warehouses, embodiments of this disclosure can improve the robot's adaptability to the environment and enhance the stability and efficiency of its operation.

[0035] It should be noted that this embodiment uses the reference driving parameters determined by the robot based on the target warehouse as an example for illustrative purposes. The process of determining the reference driving parameters will be described below with reference to Figure 2.

[0036] Figure 2 is a schematic diagram of another method for controlling the movement of a robot provided in an embodiment of this disclosure. As shown in Figure 2, before step 120 above, the method further includes steps 210 to 220 as shown below.

[0037] It should be noted that steps 210 and 220 can be executed before step 110, or after step 110 and before step 120. This disclosure embodiment does not limit this. This disclosure embodiment takes the execution of steps 210 to 220 before step 110 as an example for illustrative explanation.

[0038] Step 210: Obtain the preset path corresponding to the target warehouse and the preset driving parameters corresponding to the robot.

[0039] In some examples, the preset driving parameters are the initial driving parameters pre-set in the robot, which can also be called the robot's standard driving parameters. Each robot can be set with preset driving parameters.

[0040] In some examples, the preset path can be a single path within the target warehouse. For instance, multiple paths can be planned within the target warehouse, and the path that best represents most of the warehouse's ground conditions can be designated as the preset path. For example, the planned path could be one that represents more than 80% of the warehouse's ground conditions. The warehouse's ground conditions can include factors such as flatness and moisture levels.

[0041] In other words, when a robot performs a task in a new warehouse (such as a target warehouse), a preset path for the robot in the target warehouse can be determined first.

[0042] Step 220: Based on the preset path and preset driving parameters, determine the reference driving parameters for the robot in the target warehouse.

[0043] In some examples, after determining the preset path to the target warehouse and the preset driving parameters of the robot, the robot can be controlled to drive on the preset path according to the preset driving parameters, and the reference driving parameters of the robot in the target warehouse can be determined based on the robot's driving situation on the preset path.

[0044] Figure 3 is a schematic diagram of another method for controlling the movement of a robot provided in an embodiment of this disclosure. As shown in Figure 3, step 220 includes steps 310 to 330 as shown below.

[0045] Step 310: Based on the preset driving parameters, determine the first driving parameters corresponding to the robot, and control the robot to drive on the preset path a preset number of times with the first driving parameters.

[0046] In some examples, after obtaining the robot's preset driving parameters, the first driving parameters for the robot to operate in the target warehouse can be determined based on these preset parameters. These first driving parameters are less than the preset driving parameters.

[0047] For example, 50% of the preset driving parameter can be defined as the first driving parameter. If the preset driving parameter is 'a', then the first driving parameter can be defined as 50% × a. The ratio between the first driving parameter and the preset driving parameter can be set according to requirements. For example, the first driving parameter can also be 60% of the preset driving parameter. This embodiment does not limit this, as long as the first driving parameter is less than the preset driving parameter.

[0048] It should be noted that, in order to ensure that the robot can operate stably in the target warehouse and reduce slippage, the first driving parameter is set to a relatively small value in this embodiment. Then, based on the robot's driving behavior in the target warehouse based on the first driving parameter, the first driving parameter is further adjusted until the most suitable reference driving parameter for the target warehouse is determined.

[0049] For example, to ensure the accuracy of the determined reference driving parameters of the robot, after determining the first driving parameters, the robot can be controlled to drive on the planned path a preset number of times with the first driving parameters. The preset number of times can be set according to needs, for example, the preset number of times can be 3 times or 5 times; or, the preset number of times can also be 1 time. This embodiment of the disclosure does not limit the specific number of preset times.

[0050] Step 320: Collect first driving information of the robot as it travels along the preset path using the detection device, and determine the first error parameter of the robot based on the first driving information and the preset path.

[0051] In some examples, when the robot is traveling on a preset path with first travel parameters, the robot's travel information, i.e., the first travel information, can be collected by the detection device on the robot.

[0052] For example, a detection device can be installed on the robot, which may include multiple sensors, such as an odometer, a gyroscope, and an image acquisition device. Each sensor can collect the robot's movement information during operation. For instance, the robot's position information can be determined based on the odometer's detection data or the image acquisition device's detection data, and the robot's angle information can be determined based on the odometer's detection data and the gyroscope's detection data.

[0053] In some examples, the robot's driving information (such as first driving information) may include the robot's position information and angle information, and the robot's error parameters (such as first error parameters) may include position error and angle error.

[0054] For example, when a robot moves along a preset path to any point on the path in the target warehouse, the positional error of the robot at that point can be determined based on the detection results of an odometer (such as a wheeled odometer). The angular error can also be determined based on the difference between the heading angle detected by the gyroscope and the heading angle detected by the wheeled odometer. The preset path includes multiple points, each of which can be marked with a positioning identifier, such as a positioning QR code.

[0055] Step 330: Adjust the first driving parameters based on the first error parameters to obtain reference driving parameters.

[0056] In some examples, when the robot travels a predetermined number of times along the planned path based on the first travel parameters, each travel will correspond to a first error parameter. The first travel parameters can be adjusted based on the first error parameter of the predetermined number of travels to obtain reference travel parameters.

[0057] In some embodiments, step 330 includes: determining a first number of times in which the robot travels on a preset path with the first driving parameter less than or equal to the first error threshold, and if the first number is greater than the number threshold corresponding to the preset number, increasing the first driving parameter to obtain a reference driving parameter.

[0058] For example, the first error parameter being less than or equal to the first error threshold includes: the robot's position error being less than or equal to the position error threshold, and the angle error being less than or equal to the angle error threshold. The position error threshold and the angle error threshold can be set according to requirements; for example, the position error threshold can be set to 30mm, and the angle error threshold can be set to 2°.

[0059] To ensure the accuracy of the data acquisition device, in some examples, the cumulative angular error of the robot within a preset time period can be determined, and it can be determined whether the cumulative angular error within the preset time period is less than or equal to an angular error threshold. The preset time can be set according to requirements, such as 200ms; this embodiment does not limit this setting.

[0060] In other words, when the robot is traveling on a preset path based on the first driving parameters, if the position error of the robot at any position on the preset path (such as any path point on the preset path) is less than or equal to the position error threshold, and the cumulative angle error within any preset time period is less than or equal to the angle error threshold, the first driving parameters can be increased.

[0061] For example, the robot travels a preset number of times on a preset path based on first travel parameters. It is necessary to determine the relationship between the first error parameter and the first error threshold corresponding to each travel. In the preset number of travels, the number of times the first error parameter is less than or equal to the first error threshold is the first number. If the first number is greater than the number threshold corresponding to the preset number of travels, the first travel parameter is increased.

[0062] In some examples, the preset number of attempts may correspond to a threshold number of attempts. The threshold number of attempts will vary depending on the preset number of attempts, and will be less than the preset number of attempts. For example, if the preset number of attempts is an integer greater than 1, the threshold number of attempts can be an integer greater than half of the preset number of attempts.

[0063] For example, the preset number of attempts can be set to an odd number, and the threshold number can be set to an integer greater than half of that odd number. For instance, if the preset number of attempts is set to 3, the threshold number can be set to 2; if the preset number of attempts is set to 5, the threshold number can be set to 3. Alternatively, the preset number of attempts can be set to an even number, such as 4, and the threshold number can be set to 3. The preset number of attempts and the threshold number are not limited in this embodiment. This embodiment can be illustrated using an example of a preset number of attempts of 3 and a threshold number of 2.

[0064] In other words, when the robot travels three times on the preset path based on the first driving parameters, if the first error parameter corresponding to two driving processes is less than or equal to the first error threshold, it is determined that the first number is greater than the number threshold. Therefore, the first driving parameters can be increased.

[0065] In some examples, taking the robot's three trips (i.e., a preset number of trips) along a preset path based on first driving parameters as an example, if the first error parameter corresponding to the first trip is less than or equal to the first error threshold, it is determined that the robot did not slip during the first trip. Similarly, if the first error parameter corresponding to the second trip is also less than or equal to the first error threshold, it is determined that the robot did not slip during the second trip. Since the robot did not slip in the first two trips out of the three trips, it indicates that the first driving parameters are acceptable. In other words, the robot is less prone to slipping when navigating the target warehouse using the first driving parameters, indicating that the currently set first driving parameters are too low and can be increased to improve the robot's operating efficiency.

[0066] It should be noted that if the first error parameter for the first two trips is less than or equal to the first error parameter during the three trips, the first driving parameter can be determined to be a qualified driving parameter, and the robot does not need to perform a third trip using the first driving parameter. However, if the first error parameter for the first trip is less than or equal to the first error parameter, but the first error parameter for the second trip is greater than the first error parameter, the robot needs to be controlled to perform a third trip on a preset path based on the first driving parameter to determine whether the first driving parameter is a qualified driving parameter.

[0067] For example, after increasing the first driving parameter, the corresponding error parameter will also change. After increasing the robot's driving parameter at least once, the robot travels along a preset path based on the increased driving parameter until the robot slips. The driving parameter corresponding to the slippage of the robot is then determined as the reference driving parameter. The reference driving parameter can also be referred to as the robot's maximum permissible driving parameter.

[0068] For example, step 330 above may further include: determining, within a preset number of times, the number of times the first error parameter is greater than the first error threshold; and if the number of times is less than the threshold corresponding to the preset number of times, increasing the first driving parameter to obtain a reference driving parameter.

[0069] In some examples, the first error parameter is greater than the first error threshold, indicating that the robot slipped during the preset path travel based on the first driving parameter. If the number of times the robot slipped within the preset number of times is less than the threshold corresponding to the preset number of times, it can also indicate that the first driving parameter is a qualified driving parameter. Therefore, the first driving parameter can be increased.

[0070] In other words, the first driving parameter can be determined as a qualified driving parameter based on the relationship between the first error parameter and the first error threshold within a preset number of attempts. If the first driving parameter is determined to be a qualified driving parameter, it is then increased.

[0071] In some embodiments, increasing the first driving parameter to obtain a reference driving parameter includes: increasing the first driving parameter by a first preset value to obtain a second driving parameter; controlling the robot to drive on a preset path a preset number of times based on the second driving parameter, and collecting second driving information of the robot driving along the preset path through a detection device; determining a second error parameter of the robot based on the second driving information and the preset path; determining a second number of times the second error parameter is greater than a first error threshold among the preset number of times the robot drives on the preset path based on the second driving parameter; and determining the second driving parameter as the reference driving parameter if the second number of times is greater than the number of times threshold.

[0072] In some examples, if the first driving parameter is determined to be a qualified driving parameter, the first driving parameter can be increased by a first preset value to obtain the second driving parameter. The first preset value can be set according to requirements.

[0073] For example, when the driving parameter is acceleration (or deceleration), the first preset value can be 0.1 m / s². 2 In other words, if the first driving parameter (e.g., a1) is within acceptable limits, the first driving parameter a1 can be increased by 0.1 m / s. 2 The second driving parameter (e.g., a1 + 0.1 m / s) is obtained. 2 ).

[0074] For example, after increasing the first preset value of the first driving parameter to obtain the second driving parameter, the robot is controlled to drive on a preset path a preset number of times using the second driving parameter. A second error parameter is determined based on the second driving parameter during each driving process, and the relationship between the second error parameter and a first error threshold is determined within the preset number of times. The number of times the second error parameter is greater than the first error threshold within the preset number of times is designated as the second count. If the second count is greater than the count threshold, it indicates that the second driving parameter is an unqualified driving parameter, and it can be determined as a reference driving parameter.

[0075] In some examples, if the second error parameter is greater than the first error threshold, it indicates that the robot will slip when traveling along the preset path using the second travel parameter. If the number of slippages exceeds the threshold within a preset number of attempts, the second travel parameter is determined to be an unqualified travel parameter. In this case, the second travel parameter can be determined as the reference travel parameter. That is, the reference travel parameter is the maximum travel parameter of the robot in the target warehouse. If the travel parameter corresponding to the robot's movement in the target warehouse is less than or equal to the reference travel parameter, the stability of the robot's movement in the target warehouse can be guaranteed.

[0076] For example, in a preset number of times, the number of times the second error parameter is less than or equal to the first error threshold is determined. If the number of times is greater than the threshold, it indicates that the second driving parameter is also a qualified driving parameter. Therefore, the first preset value of the second driving parameter can be further increased, and the robot can be controlled to drive on the preset path a preset number of times with the increased second driving parameter. This process is repeated until an unqualified driving parameter is determined, and the unqualified driving parameter is determined as a reference driving parameter.

[0077] In some examples, when the robot's driving parameters are adjusted multiple times, the initial preset value for each adjustment can be the same or different. For example, the initial preset value for a later adjustment can be less than the initial preset value for a previous adjustment. Another example is that the initial preset value for a later adjustment is the same as the initial preset value for a previous adjustment, such as 0.1 m / s for each adjustment. 2 This disclosure does not limit the scope of the embodiments.

[0078] In some embodiments, if the number of times the first error parameter is greater than the first error threshold in a preset number of times the robot travels along a preset path with the first driving parameters exceeds the threshold corresponding to the preset number of times, it indicates that the current first driving parameters are unqualified. In this case, it indicates that the first driving parameters are set too high and need to be adjusted down. This process continues until the first driving parameters are adjusted down to qualified driving parameters, and then the qualified driving parameters are determined as reference driving parameters.

[0079] It should be noted that the first driving parameter can be set to half of the preset driving parameter. Since the first driving parameter is usually a qualified driving parameter, it is necessary to increase the first driving parameter.

[0080] Through steps 210 to 220 above, the reference driving parameters of the robot in the target warehouse can be determined. After the reference driving parameters of the robot in the target warehouse are determined, the robot can drive according to the planned path based on the reference driving parameters to perform the task to be performed.

[0081] The method for controlling robot movement provided in this disclosure can determine the standard driving parameters (i.e., reference driving parameters) of the robot in a new warehouse (such as a target warehouse) by using the robot's preset driving parameters and preset path. This improves the robot's adaptability to the environment, ensures that the robot can operate more efficiently in any new warehouse, and reduces the occurrence of robot slippage.

[0082] In some examples, although the preset path used to determine the reference driving parameters covers most of the ground environment of the target warehouse, some areas may remain uncovered, or temporary anomalies may occur on the ground of the target warehouse. In such cases, the robot may slip and deviate from the current path while driving through the target warehouse based on the reference driving parameters. To further ensure the stable operation of the robot, embodiments of this disclosure can adjust the robot's driving parameters in a timely manner after slippage occurs, thereby ensuring the stability of the robot in subsequent driving.

[0083] The following describes the process of adjusting the robot's driving parameters after it slips.

[0084] Step 130: Collect target driving information of the robot during its movement in the target warehouse through the robot's detection device.

[0085] For example, after determining the reference driving parameters for the robot in the target warehouse, the robot can be controlled to perform handling tasks based on these parameters. For instance, the robot can travel along a planned path within the target warehouse based on the reference driving parameters, and collect target driving information through detection devices on the robot during the journey.

[0086] In some examples, the detection device includes an odometer, an image acquisition device, and a gyroscope. The odometer may be a wheeled odometer, which can acquire the robot's relative position. The image acquisition device can acquire the robot's relative position; the image acquisition device may be a QR code camera, etc., and this disclosure does not limit this. Both the gyroscope and the wheeled odometer can acquire the robot's heading angle during movement.

[0087] In some examples, as the robot travels along a planned path based on reference driving parameters, it can determine its driving error parameters based on the target driving information acquired by a detection device. For instance, the planned path may include multiple path points, each marked with a positioning marker, such as a positioning QR code. As the robot passes each positioning marker on the planned path, the detection device collects the robot's driving information. This driving information includes position and angle information.

[0088] It should be noted that the target driving information is similar to the first driving information in step 320 of the above embodiment. The target driving information may include position information and angle information. To avoid repetition, it will not be described again here.

[0089] Step 140: Based on the target driving information and the planned path, determine the robot's driving error parameters.

[0090] For example, when the target driving information includes position information and angle information, the robot's driving error parameters can include position error and angle error. When the target driving information is the robot's position information, the robot's position error can be determined based on that position information. When the target driving information is the robot's angle information, the robot's angle error can be determined based on that angle information.

[0091] In some embodiments, when the driving error parameter includes position error, step 140 above may include: determining the robot's relative position based on the detection results of the wheel odometer, and determining the robot's absolute position based on the detection results of the image acquisition device; and determining the robot's position error based on the relative position and the absolute position.

[0092] In some examples, wheeled odometry is used to determine the robot's mileage, and the robot's relative position is determined based on this mileage. Specifically, the robot's wheeled odometry can determine its relative position based on measurements of wheel speed and steering angle. Image acquisition devices (such as QR code cameras) can determine the position of QR codes along the planned path by scanning and analyzing them, thereby determining the robot's absolute position.

[0093] For example, the relative position detected by a wheeled odometry can be compared with the absolute position detected by a QR code camera to determine the robot's position error. Because wheeled odometry has cumulative error, the deviation between its detected relative position and the actual position gradually increases as the robot's operating time increases. In contrast, the absolute positioning method based on a QR code camera can provide more accurate robot position information.

[0094] In some embodiments, the driving error parameters may further include angular error, and step 150 may include: determining the robot's first heading angle based on the detection results of the wheel odometer, and determining the robot's second heading angle based on the detection results of the gyroscope; and determining the robot's angular error based on the first heading angle and the second heading angle.

[0095] In some examples, the heading angle is the angle between the robot and any reference direction (such as due north), used to describe the robot's orientation.

[0096] In some examples, wheel odometry can not only detect the robot's relative position but also determine its heading angle (e.g., the first heading angle). For instance, a wheel odometry can determine the robot's first heading angle based on measuring the rotation angle and speed of the wheels. Since various factors in the target warehouse (such as wheel slippage, uneven ground, etc.) can affect the robot's movement, the first heading angle determined by the wheel odometry may have some error. Gyroscopes can be used to detect changes in the robot's rotational speed and direction, thereby determining the robot's heading angle (e.g., the second heading angle). Gyroscopes have the advantages of fast response speed and high measurement accuracy, but they may be affected by drift and noise during long-term operation.

[0097] For example, the first heading angle determined by the wheel odometer and the second heading angle determined by the gyroscope can be compared to determine the robot's angular error.

[0098] For example, the robot's travel error parameters can be determined based on the robot's position error and angle error.

[0099] Step 150: Adjust the reference driving parameters based on the driving error parameters to obtain the target driving parameters, and control the robot to drive along the planned path based on the target driving parameters to complete the task to be performed.

[0100] In some embodiments, adjusting reference driving parameters based on driving error parameters to obtain target driving parameters includes: when the robot's driving error parameters are greater than a second error threshold, reducing the reference driving parameters to obtain the target driving parameters.

[0101] In some examples, after determining the robot's travel error parameters, the target travel parameters are further determined based on the relationship between the travel error parameters and a second error threshold. For instance, if the robot's travel error parameters are greater than the second error threshold, it indicates that the robot has slipped at a certain location in the target warehouse. In this case, the robot's current travel parameters (i.e., reference travel parameters) need to be adjusted, such as by reducing them, so that the robot will not slip again during subsequent operations.

[0102] For example, the second error threshold may include a position error threshold and an angle error threshold. For instance, the relationship between the robot's travel error parameters and the second error threshold can be determined based on the relationship between the robot's position error and the position error threshold, and the relationship between the angle error and the angle error threshold.

[0103] For example, the second error threshold can be set according to requirements. The second error threshold can be the same as the first error threshold, or the second error threshold can be different from the first error threshold. For example, the second error threshold can be less than or greater than the first error threshold. This disclosure does not limit this. This disclosure can be illustrated by taking the example that the second error threshold is the same as the first error threshold.

[0104] In some embodiments, if the position error is greater than the position error threshold and / or the cumulative angle error within a preset time is greater than the angle error threshold, the reference driving parameters are adjusted to obtain the target driving parameters.

[0105] For example, when a robot travels along a planned path, assuming the robot does not slip, the difference between the relative position determined by the wheeled odometer at the robot's first position on the planned path (such as any point on the planned path) and the absolute position obtained by the QR code camera at the first position is within a preset distance range, such as within 10mm; the difference between the first heading angle obtained by the wheeled odometer and the second heading angle obtained by the gyroscope is within a preset angle range, such as within 0.5°. In other words, if the positional error is within a preset distance range (such as less than or equal to 10mm), and the angular error between the first and second heading angles is within a preset angle range (such as less than or equal to 0.5°), it can be determined that the robot has not slipped.

[0106] In some examples, if the robot slips at the first position, the difference between the relative position determined by the wheel odometry and the absolute position acquired by the QR code camera at the first position (i.e., the position error) will increase, exceeding a preset distance threshold. For example, if the position error is greater than the position error threshold, it can be determined that the robot has slipped at the first position. The position error threshold can be set according to requirements; for example, the position error threshold can be any value exceeding the preset distance range, such as 30mm.

[0107] It should be noted that the embodiments disclosed herein do not specifically limit the position error threshold. When it is determined that the robot's position error is greater than the position error threshold, it is determined that the robot has slipped. Therefore, the robot's reference driving parameters can be adjusted to obtain the target driving parameters.

[0108] In other examples, robot slippage can also be determined if the angular error between the first heading angle obtained by the wheel odometer and the second heading angle obtained by the gyroscope is greater than an angular error threshold. Since the angular error is relatively small, the relationship between the accumulated angular error over a preset time and the angular error threshold can be used to determine whether robot slippage has occurred.

[0109] For example, if the cumulative angular error of the robot exceeds an angular error threshold within a preset time period, it is determined that the robot has slipped. The preset time and angular error threshold can be set according to requirements, and the angular error threshold can vary depending on the preset time. For instance, when the preset time is set to 200ms, the angular error threshold can be set to 2°. That is, if the cumulative angular error between the first heading angle and the second heading angle exceeds 2° within 200ms, it can be determined that the robot has slipped.

[0110] For example, after determining that the robot has slipped, the robot's reference driving parameters need to be reduced to obtain the target driving parameters.

[0111] In some embodiments, adjusting the reference driving parameters to obtain target driving parameters includes: reducing the reference driving parameters by a second preset value to obtain intermediate driving parameters; controlling the robot to continue driving in the target warehouse according to the planned path based on the intermediate driving parameters; determining the error parameter corresponding to the intermediate parameters based on the intermediate driving parameters and the planned path; and determining the intermediate driving parameters as target driving parameters if the error parameter corresponding to the intermediate driving parameters is less than or equal to a second error threshold.

[0112] In some examples, the robot slipped while traveling on the planned path based on the reference driving parameters, indicating that the robot's reference driving parameters were set too high. Therefore, it is necessary to reduce the robot's current reference driving parameters to prevent the robot from slipping again during subsequent travel.

[0113] For example, if it is determined that the robot has slipped, the robot's current driving parameters (such as reference driving parameters) can be reduced by a second preset value to obtain intermediate driving parameters.

[0114] For example, the second preset value can be determined based on a preset percentage of the robot's current driving parameters, or the second preset value can be a fixed value. The second preset value can be set according to requirements, and this disclosure does not limit this.

[0115] In some examples, the robot travels along the planned path in the target warehouse. Each time a slip occurs, an adjustment operation (i.e., a reduction operation) can be triggered, which reduces the current travel parameter to a second preset value until the robot stops slipping.

[0116] For example, if a robot slips while traveling along a planned path using reference driving parameters, the reference driving parameter (e.g., 'a') can be reduced to 90% of its original value, resulting in an intermediate driving parameter (e.g., 90% × 'a'). The robot is then controlled to continue traveling along the planned path using this intermediate parameter. If the robot slips again while traveling along the planned path using this intermediate parameter, the intermediate driving parameter is further reduced to 90% of its original value (e.g., 90% × 90% × 'a'), and the robot continues traveling in the target warehouse using this reduced intermediate driving parameter until it stops slipping. In other words, during the robot's travel along the planned path, its driving parameters can be adjusted at least once based on the robot's slippage behavior until the robot stops slipping and completes the task.

[0117] In some embodiments, after the robot completes the task to be performed according to the planned path based on the target driving parameters, the robot is controlled to perform the next task to be performed based on the reference driving parameters.

[0118] In some examples, after the robot completes its task, its target driving parameters can be adjusted to reference driving parameters, and the next task can be executed based on the reference driving parameters. For example, after the robot finishes traveling on the planned path, its driving parameters can be reset to adjust the current driving parameters to the reference driving parameters, so that the robot can perform other tasks based on the reference driving parameters in the future.

[0119] Since the path to the next task may differ from that of the current task, the robot's slippage along that path will also differ. Continuing to execute the next task using the target travel parameters corresponding to the planned path might affect the robot's efficiency in executing the next task. Therefore, after completing its task, the robot can revert to using the reference travel parameters and then control the robot to execute the next task based on those reference parameters.

[0120] It should be noted that during the process of the robot executing the next task based on the reference driving parameters, it can determine whether the robot has slipped based on the driving path corresponding to the next task and the driving information during the robot's movement, thereby adjusting the robot's reference driving information. This adjustment process is similar to steps 130 to 150 above, and will not be described again here to avoid repetition. In this embodiment of the present disclosure, when the reference driving parameters are the robot's maximum driving parameters in the target warehouse, the robot can drive in the target warehouse with driving parameters less than or equal to the reference driving parameters.

[0121] The method and robot for controlling robot movement provided in this disclosure involve collecting target movement information of the robot during its movement in a target warehouse according to a planned path based on reference movement parameters. The robot's movement error parameters are determined based on the planned path and the target movement information. The reference movement parameters are then adjusted based on these error parameters to obtain the target movement parameters. The robot is then controlled to move according to the planned path based on these target movement parameters. This disclosure allows for dynamic adjustment of the robot's reference movement parameters based on its movement information. In other words, the robot can adjust its current movement parameters in a timely manner according to changes in its environment, thereby adapting to the current environment and improving its environmental adaptability. Simultaneously, adjusting the robot's movement parameters can reduce the number of times the robot slips while operating in the warehouse, improving the stability of the robot's operation and the efficiency of the warehousing system.

[0122] In some embodiments, controlling the robot to travel along a planned path based on target travel parameters includes: processing angle errors and position errors based on a first algorithm to determine a first speed parameter; determining a second speed parameter based on the target travel parameters and a second algorithm; processing the first speed parameter and the second speed parameter based on a kinematic model to determine a target speed corresponding to the robot; and controlling the robot to travel along the planned path based on the target speed.

[0123] In some examples, the robot travels in the target warehouse based on target driving parameters. The target speed of the robot can be determined based on the target driving parameters, and the robot can be controlled to perform the task at the target speed.

[0124] For example, the robot may include a first algorithm and a second algorithm. The first algorithm processes the robot's position and angular errors to obtain a first velocity parameter. For instance, the first algorithm may be a fuzzy proportional-integral-differential (PID) algorithm, and the first velocity parameter may be the robot's desired angular velocity. The second algorithm processes the robot's travel parameters (i.e., target travel parameters) after slippage to obtain a second velocity parameter. For instance, the second algorithm may be an S-curve planning algorithm, and the second velocity parameter may be the robot's target linear velocity.

[0125] In some examples, after determining the robot's desired angular velocity and desired linear velocity using the first and second algorithms, these values ​​can be input into a kinematic model to determine the robot's target velocity. This kinematic model can be a pre-trained model. Once the target velocity is determined, the robot can be controlled to travel along a planned path at that speed.

[0126] Figure 4 is a schematic diagram illustrating how to determine the robot's travel speed according to an embodiment of this disclosure. The process of determining the robot's target speed will be described below with reference to Figure 4.

[0127] As shown in Figure 4, after acquiring the planned path, the robot can determine its lateral error (i.e., the aforementioned positional error) and the deviation value of the robot's actuators output by the fuzzy pure tracking controller based on the lateral error on the planned path. It can also obtain the robot's angular error from the gyroscope and odometry. The deviation value output by the fuzzy pure tracking controller and the angular error are then fused together and used as the input to the fuzzy PID controller. After processing by the fuzzy PID controller, the robot's linear velocity is obtained. The fuzzy PID controller is used to implement the fuzzy PID algorithm (i.e., the first algorithm mentioned above).

[0128] It should be noted that the proportional gain (Kp) of the fuzzy PID controller can be set according to requirements. The Kp value is positively correlated with the robot speed. As the Kp value increases, the robot's sensitivity to errors increases, and its response speed and control strength will also be enhanced accordingly, potentially increasing the robot's movement speed. However, an excessively large Kp value may cause the system to become unstable, resulting in oscillations and affecting the robot's motion performance and accuracy. Therefore, the embodiments of this disclosure can set the Kp value according to the robot's specific motion characteristics and control requirements to achieve the goals of fast response, small error, and stable operation.

[0129] In some examples, after the robot slips and the target travel parameters are determined, the motion curve for the planned path can be redefined based on the target travel parameters and the S-curve planning controller. The S-curve planning controller is used to implement the S-curve planning algorithm (i.e., the second algorithm mentioned above).

[0130] For example, the target driving parameters include acceleration (which can be called target acceleration). Information such as target acceleration, remaining path length in the planned path, and the robot's maximum allowed speed can be input into the S-curve planning controller, which will then determine the robot's limit line speed.

[0131] As shown in Figure 4, after determining the slip error (i.e. the aforementioned driving error parameters), the target driving parameters of the robot can be determined based on the slip controller, and the target driving parameters can be input into the S-curve planning controller to output the robot's desired linear velocity.

[0132] It should be noted that the S-curve planning controller is a controller used to smoothly transition speed changes. It determines the robot's desired linear velocity based on the robot's motion requirements (such as starting, accelerating, constant speed, deceleration, stopping, etc.) and constraints (such as maximum speed, acceleration, etc.).

[0133] As shown in Figure 4, after the fuzzy PID controller outputs the robot's desired angular velocity and the S-curve planning controller outputs the robot's desired linear velocity, the robot's desired angular velocity and desired linear velocity can be input into the kinematic model to determine the robot's desired velocity through the kinematic model.

[0134] In some examples, the robot's kinematic model describes the robot's motion and state changes. The desired linear and angular velocities calculated by a fuzzy PID controller and an S-curve programming controller are used as inputs to the kinematic model. Based on these inputs and the robot's physical parameters (such as wheel diameter and wheelbase), the kinematic model calculates the speed values ​​that each motor should achieve. For example, a robot is typically driven by multiple motors, each responsible for driving one or more wheels or joints. The robot's kinematic model calculates the speed value that each motor should achieve based on the desired linear and angular velocities and the robot's structural parameters. These speed values ​​are then sent as control commands to the motors via motor drivers, thereby controlling the robot's motion.

[0135] After determining the robot's target speed through the above process, the robot can be controlled to travel along the planned path at the target speed to continue performing the task to be performed.

[0136] For example, after the robot has traveled along the planned path at the target speed, it is controlled to move within the target warehouse based on reference travel parameters. In other words, after the robot has finished traveling along the planned path, its travel parameters can be reset to match the reference travel parameters, allowing the robot to move within the target warehouse based on these reference parameters and continue performing subsequent tasks.

[0137] In some examples, the robot's pose may change after it slips, and this change may affect the robot's normal movement. Therefore, this embodiment of the present disclosure corrects and updates the robot's pose after it slips so that the robot can perform accurate movement in subsequent operations.

[0138] Figure 5 is a schematic diagram of another method for controlling robot movement provided in an embodiment of this disclosure. As shown in Figure 5, the method further includes steps 510 to 520 as shown below. It should be noted that steps 510 to 520 can be performed before step 150 above.

[0139] Step 510: If, within a preset time interval, the difference between the first pose change determined by the laser odometry and the second pose change determined by the wheel odometry exceeds the pose change threshold, it is determined that the robot has slipped.

[0140] In some examples, the detection device includes an odometer, which may include a laser odometer and a wheeled odometer. A first detection result from the laser odometer and a second detection result from the wheeled odometer are acquired. The robot's first pose information is determined based on the first detection result, and the robot's second pose information is determined based on the second detection result.

[0141] For example, the robot's pose may change within a preset time interval. A laser odometry system can determine the first pose change within this time interval, and a wheel odometry system can determine the second pose change. If the difference between the first and second pose changes exceeds a pose change threshold, the robot is determined to have slipped. The preset time interval and pose change threshold can be set as needed.

[0142] For example, laser odometry can measure changes in the surrounding environment using lidar, and by analyzing and accumulating these environmental changes, it can estimate the robot's pose change over a certain period of time (i.e., the first pose change). Wheel odometry can estimate the robot's pose change (i.e., the second pose change) by measuring the number of wheel rotations and the radius of rotation. Since wheel odometry provides displacement information of the robot in a two-dimensional plane, the measurement results may be affected by factors such as wheel slippage or uneven ground, while laser odometry is generally more sensitive to actual environmental changes. Therefore, a large difference between the first and second pose changes indicates that the robot has slipped.

[0143] Step 520: Based on the first pose information determined by the laser odometry and / or the second pose information determined by the wheel odometry, determine the target pose of the robot after it has slipped.

[0144] In some examples, the robot's pose can be determined based on the initial pose information obtained from wheel odometry. However, after the robot slips, its wheels experience kinetic friction with the ground. In this case, the pose determined by wheel odometry has a significant error, affecting the robot's operational accuracy and stability. For instance, wheel odometry can provide relatively accurate pose estimation by directly measuring the movement of the robot's wheels. However, in the event of slippage, although the wheels are rotating, the robot's actual movement may not match the expected movement, leading to errors in pose estimation.

[0145] In some examples, the robot's laser odometry primarily reflects the positional relationship between the robot and objects in its surrounding environment, and is unaffected by wheel slippage. Therefore, in the event of robot slippage, the robot's post-slip pose can be determined based on the first pose information determined by the laser odometry, or based on the first and second pose information, thereby improving the robot's positioning accuracy after slippage. For instance, laser odometry estimates robot movement by comparing laser scan data at different points in time. It relies on actual physical features in the environment (such as walls, obstacles, etc.), therefore, the pose estimation provided by laser odometry is often more reliable in the event of slippage.

[0146] In some embodiments, step 510 includes: determining a target pose based on the first pose information determined by the laser odometry; or, determining the target pose based on the first pose information and first weight determined by the laser odometry, and the second pose information and second weight determined by the wheel odometry.

[0147] For example, after determining that the robot has slipped, the target pose of the robot can be determined based on the first pose information determined by the laser odometry. That is, the detection results of the wheel odometry (i.e., the second pose information) can be disregarded when determining the target pose of the robot. For instance, after determining that the robot has slipped, the wheel odometry can be switched to the laser odometry to determine the target pose of the robot, thereby using the high-precision pose estimation of the laser odometry to correct the error caused by the slippage.

[0148] In some embodiments, determining the target pose based on the first pose information determined by the laser odometry includes: acquiring initial point cloud data of the robot's environment detected by the laser odometry; filtering the initial point cloud data to obtain multiple feature point cloud data, and establishing a correspondence between the feature point cloud data; and determining the target pose of the robot after it has slipped based on the correspondence between the feature point cloud data.

[0149] In some examples, laser odometry estimates robot motion and thus pose changes by comparing changes in environmental point cloud data obtained from a laser scanner and comparing changes between consecutive scans. For example, determining a robot's pose using laser odometry may include the following steps:

[0150] First, the initial point cloud data of the robot in its environment detected by the laser odometry is acquired, and the initial point cloud data is filtered to obtain multiple feature point cloud data.

[0151] For example, to reduce computational complexity, representative features, such as corner points, edge points, and planar points, can be extracted from the initial point cloud data obtained by laser odometry. This feature extraction process can be based on the analysis of local geometry (such as curvature or normal vector changes). Feature point cloud data possesses the property of being stable and traceable across continuous scans.

[0152] Secondly, establish the correspondence between the feature point cloud data.

[0153] For example, establishing correspondences between features in consecutive scans involves searching for nearest neighbors or using more complex data association algorithms, which is not limited in this disclosure.

[0154] Finally, based on the correspondence between the feature point cloud data, the target pose of the robot after sliding is determined.

[0155] For example, after establishing the correspondence between feature point cloud data, the motion causing these changes can be estimated using optimization algorithms, i.e., motion estimation. This can be achieved by using algorithms such as the Iterative Closest Point (ICP) algorithm or its variants, which minimize the matching error between features through an iterative process to solve for the motion parameters (translation and rotation). Based on the robot's motion estimation, the robot's pose is updated to obtain the target pose. The robot's pose is represented as a transformation matrix or quaternion plus a translation vector, describing the robot's spatial transformation from one time point to another.

[0156] For example, after determining that the robot has slipped, the target pose of the robot can also be determined jointly based on the first pose information and the second pose information determined by the laser odometry. That is, when determining the target pose of the robot, both the first pose information obtained by the laser odometry and the second pose information obtained by the wheel odometry can be considered.

[0157] In some examples, different weight information can be set for the first pose information and the second pose information respectively. For example, the first pose information corresponds to the first weight information, and the second pose information corresponds to the second weight information. Based on the first pose information and the first weight information, as well as the second pose information and the second weight information, the target pose of the robot is determined.

[0158] In some examples, to ensure the accuracy of the target pose, the weight of the laser odometry can be increased, meaning the first weighted information is greater than the second weighted information. For instance, when fusing detection data from multiple sensors, different sensor data can be assigned different weights. When the robot slips, the weight of the laser odometry can be increased while the weight of the wheel odometry is decreased, thus relying more on the laser odometry result in actual pose estimation, thereby ensuring higher accuracy of the determined target pose.

[0159] In some embodiments, after determining the target pose of the robot, step 150, controlling the robot to travel along the planned path based on the target travel parameters, includes: controlling the robot to travel along the planned path based on the target travel parameters according to the target pose.

[0160] Once the target pose of the robot is determined, the robot can be controlled to travel along the planned path based on the target driving parameters, thereby improving the accuracy of the robot's movement.

[0161] In some examples, after a robot slips, its pose may change, which can affect its travel path. For instance, if the robot's pose changes, it may deviate from its original path (i.e., the planned path), and this change in the travel path may affect the robot's task execution efficiency. Therefore, embodiments of this disclosure correct the robot's pose after a slip to determine a target pose. Based on the target pose, the robot can return to its original path (i.e., the planned path) and continue traveling along it, thereby avoiding the path deviation problem caused by slipping and improving the robot's work efficiency.

[0162] The method for controlling robot movement provided in this disclosure can correct the robot's real-time pose after slippage, thereby ensuring that the robot can quickly and accurately adjust its pose after slippage during movement, and ensuring the accuracy of subsequent navigation and positioning of the robot.

[0163] In some examples, after a robot slips, its current driving parameters can be adjusted to prevent further slippage during subsequent movements. The robot control method provided in this disclosure also enables the robot to proactively avoid slippage, thereby achieving pre-emptive slippage avoidance, further ensuring the stability of robot operation, and improving operational efficiency.

[0164] The robot driving method provided in this disclosure enables the robot to actively avoid slippage. The process of the robot actively avoiding slippage will be described below with reference to Figure 6.

[0165] Figure 6 is a schematic diagram of another method for controlling robot movement provided in an embodiment of this disclosure. As shown in Figure 6, the method further includes steps 610 to 630 as described below. It should be noted that step 610 can be performed after step 140 described above.

[0166] Step 610: If it is determined that the robot has slipped on the planned path, the first friction coefficient corresponding to the first position where the robot slipped is determined based on the target driving parameters.

[0167] In some examples, it can be determined whether the robot has slipped on the planned path based on the robot's current driving error parameters. For instance, if the driving error parameter corresponding to the robot's first position on the planned path is determined to be greater than a second error threshold, it can be determined that the robot has slipped at the first position on the planned path.

[0168] In other examples, it is also possible to determine whether the robot has slipped on the planned path based on changes in its pose. For instance, if, within a preset time interval, the first pose change determined by the laser odometry is inconsistent with the second pose change determined by the wheel odometry, and this inconsistency exceeds a pose change threshold, it can be determined that the robot has slipped on the planned path.

[0169] For example, after determining that the robot has slipped, the coefficient of friction (such as the first coefficient of friction) corresponding to the position where the slip occurred (such as the first position) can be further determined.

[0170] In some examples, the robot slips during its movement, and the friction between the robot's wheels and the ground changes from static friction to dynamic friction. That is, at this moment, the frictional force required for the robot to accelerate or decelerate is balanced with the maximum static friction between the wheels and the ground. Therefore, the maximum static friction between the wheels and the ground can be calculated based on the robot's driving parameters at this moment (such as the target driving parameters), and then the ground friction coefficient can be calculated.

[0171] In some examples, the coefficient of friction between the robot and the ground can be determined according to formula (1). m×g×μ=m×a Formula (1);

[0172] In formula (1), m is the weight of the robot, g is the gravitational acceleration of the area where the robot is located, μ is the friction coefficient of the ground at the location of the robot, and a is the acceleration or deceleration of the robot (i.e., the target driving parameter). That is to say, given the weight m of the robot and the target driving parameter a of the robot at the first position, the first friction system μ corresponding to the robot at the first position can be determined based on formula (1).

[0173] In some examples, the robot's weight m in formula (1) may include the robot's base weight, or it may include both the robot's base weight and the load weight. For example, when the robot is in an unloaded state during a task, the weight m is the robot's own weight (i.e., the base weight); when the robot is in a loaded state, i.e., the robot is carrying a container or carrier, the weight m is the sum of the robot's base weight (i.e., its own weight) and the load weight (i.e., the weight of the container or carrier).

[0174] For example, the friction coefficient of any robot in the target warehouse at any sliding position can be determined by the above formula (1).

[0175] Step 620: Send the first position, the first friction coefficient, and the first timestamp of the slippage at the first position to the server in the warehousing system so that the server can update the initial friction coefficient map corresponding to the target warehouse and obtain the target friction coefficient map.

[0176] In some examples, after determining the friction coefficient of the robot at each sliding position through step 610 above, the robot can send the sliding position, the timestamp of the sliding, and the corresponding friction coefficient to the server, which will then complete the creation and updating of the friction coefficient map to obtain the target friction coefficient map.

[0177] For example, a target warehouse may include multiple robots performing tasks. Each robot can report its own slippage information to the server during the execution of its corresponding task. The server processes the slippage information reported by each robot to obtain a friction coefficient map. The slippage information reported by the robot may include the location where the slippage occurred, the timestamp of the slippage, and the friction coefficient corresponding to that location.

[0178] In some examples, the target friction coefficient map includes multiple mapping relationships between multiple locations where robots in the target warehouse slip and multiple friction coefficients, as well as multiple timestamps.

[0179] For example, the initial friction coefficient map can be an empty friction coefficient map, or it can include a friction coefficient map containing at least one mapping relationship. A mapping relationship can be a mapping between a location and its corresponding friction coefficient and timestamp.

[0180] In some examples, when the robot sends its first position, first friction coefficient, and first timestamp to the server, the initial friction coefficient map on the server is an empty map. The server can establish a first mapping relationship based on the first position, first friction coefficient, and first timestamp, and add this first mapping relationship to the initial friction coefficient map to create a new friction coefficient map, thus obtaining the target friction coefficient map. Alternatively, if the initial friction coefficient map on the server is an already established friction coefficient map, meaning it includes at least one mapping relationship, the server can add the first mapping relationship established based on the first position, first friction coefficient, and first timestamp to the initial friction coefficient map to obtain the target friction coefficient map.

[0181] Step 630: Obtain the target friction coefficient map.

[0182] In some examples, after the server completes the creation and updating of the friction coefficient map, it can send the updated friction coefficient map (i.e., the target friction coefficient map) to each robot in the target warehouse, and each robot can obtain the target friction map.

[0183] It should be noted that the friction coefficient map can also be created and updated by the robots. For example, each robot can report its own slippage information to other robots in the target warehouse. Based on the received slippage information, each robot creates or updates its friction coefficient map to obtain the target friction coefficient map. This disclosure embodiment uses the creation and updating of the friction coefficient map by a server as an example for illustrative purposes.

[0184] In some examples, the server can periodically send the target friction coefficient map to each robot. For instance, the server can send the updated target friction coefficient map to each robot at fixed time intervals. Alternatively, the server can also send the target friction coefficient map to each robot in response to an update of the friction coefficient map. For instance, each time the server updates the friction coefficient map, it can trigger a sending command to send the updated target friction coefficient map to each robot. This disclosure does not limit the method by which the robot obtains the target friction coefficient map.

[0185] Step 640: When the robot travels to the second position of the target warehouse, determine the second friction coefficient corresponding to the second position based on the target friction coefficient map.

[0186] In some examples, after the robot acquires the target friction coefficient map, the friction coefficient at each sliding position within the target warehouse can be determined based on the target friction coefficient map. For instance, when the robot reaches the second position, it can be determined whether a mapping relationship corresponding to the second position exists in the target friction coefficient map. If such a mapping relationship exists, the second friction coefficient corresponding to the second position can be determined.

[0187] It should be noted that if there is no mapping relationship for the second position in the target friction coefficient, it indicates that the robot may not slip at the second position; that is, the second position is the position where the robot will not slip. In this case, the robot can continue to travel according to the current driving parameters. This embodiment of the disclosure uses the example of the second position being the position where the robot slips as an example for illustrative purposes.

[0188] Step 650: Based on the second friction coefficient, determine the third driving parameters corresponding to the second position of the robot, and control the robot to pass through the second position based on the third driving parameters.

[0189] In some examples, after determining the second friction coefficient corresponding to the second position, the robot's driving parameters (i.e., the third driving parameters) corresponding to the second position can be determined based on the second friction coefficient.

[0190] For example, when the third driving parameter is acceleration or deceleration, the robot's third driving parameter can be determined according to the following formula (2): g×μ=a Formula (2);

[0191] In formula (2), μ is the friction coefficient at a certain location found on the target friction coefficient map, g is the gravitational acceleration, and a is the maximum allowable acceleration and deceleration of the robot at that location. That is, given the second friction system μ corresponding to the second location, the third formal parameter a corresponding to the second location of the robot can be determined based on the above formula (2).

[0192] In some examples, after acquiring an updated target friction coefficient map, the robot can save the map and read it in real time. For instance, the robot can save the latest target friction coefficient map it receives and clear the previously received map. While performing tasks in the target warehouse, the robot can consult the saved target friction coefficient map in real time based on the planned path and determine the maximum allowable acceleration or deceleration at each sliding position along the planned path.

[0193] In some embodiments, the warehousing system may further include a display device. If it is determined that the robot has slipped at a first position, the control device may send abnormal information to the display device, causing the display device to output an abnormal prompt message corresponding to the first position.

[0194] In some examples, the display device can show map information of the target warehouse, and if it is determined that the robot has slipped in the first position, the first position of slippage can be marked on the map so that the anomaly can be handled manually.

[0195] In some embodiments, the server may, based on a first timestamp, remove the first position, the first friction coefficient corresponding to the first position, and the first timestamp from the target friction coefficient map if no other robot slips at the first position within a preset time period, or if the time period for establishing the first timestamp exceeds the preset time period.

[0196] In some examples, the target friction coefficient map records the mapping relationship for each location prone to slippage, and this mapping relationship carries the timestamp of slippage information reporting. If the timestamp corresponding to any location in the target friction coefficient map is established for more than a preset time, and the server does not receive slippage information for the first location reported by other robots, the mapping relationship corresponding to that location can be removed from the target friction coefficient map.

[0197] For example, the preset duration can be set according to needs, such as 24 hours. That is to say, if the mapping relationship corresponding to any position has been created in the target friction coefficient map for more than 24 hours, and no other robot has slipped at that position within 24 hours, that is, no other robot has reported slippage information at the first position within 24 hours, the mapping relationship can be removed from the target friction coefficient map.

[0198] For example, if other robots also slide at the first position within a preset time period and report the sliding information of the first position to the server, the server can update the friction coefficient map, update the first timestamp corresponding to the first position to the new timestamp reported by the robot, and restart the timing for creating the new timestamp.

[0199] The method for controlling robot movement provided in this disclosure creates and updates a friction coefficient map based on the slippage information reported by the robot during its movement through a target warehouse. When the robot passes through a slippage position again, it can dynamically adjust its driving parameters according to the friction coefficient map, thereby preventing slippage from occurring again at that position. Therefore, this disclosure improves the robot's ability to adapt to its environment and enhances the stability of its operation.

[0200] Figure 7 is a schematic diagram of a robot provided in an embodiment of this disclosure. As shown in Figure 7, the robot 700 includes an acquisition module 710, a control module 720, a data collection module 730, and a determination module 740. Wherein:

[0201] The acquisition module 710 is configured to acquire the task to be executed corresponding to the robot; wherein, the task to be executed includes the planned path.

[0202] The control module 720 is configured to control the robot to travel along the planned path in the target warehouse based on the robot's corresponding reference driving parameters.

[0203] The data acquisition module 730 is configured to collect target driving information of the robot during its movement through the target warehouse.

[0204] The determination module 740 is configured to determine the robot's driving error parameters based on the target driving information and the planned path; and to adjust the reference driving parameters based on the driving error parameters to obtain the target driving parameters.

[0205] The control module 720 is configured to control the robot to travel along a planned path based on target driving parameters in order to complete the task to be performed.

[0206] In some embodiments, the acquisition module 710 is further configured to: acquire a preset path corresponding to the target warehouse and preset driving parameters corresponding to the robot; the determination module 740 is further configured to determine reference driving parameters of the robot in the target warehouse based on the preset path and preset driving parameters.

[0207] In some embodiments, the determining module 740 is configured to: determine a first driving parameter corresponding to the robot based on preset driving parameters; the control module 720 is configured to control the robot to drive a preset number of times on a preset path with the first driving parameter; wherein the first driving parameter is less than the preset driving parameter. The acquisition module 730 is configured to: acquire first driving information when the robot drives along the preset path; the determining module 74 is configured to: determine a first error parameter of the robot based on the first driving information and the preset path; adjust the first driving parameter based on the first error parameter to obtain a reference driving parameter.

[0208] In some embodiments, the determining module 740 is configured to: determine a first number of times in which the first error parameter is less than or equal to a first error threshold among a preset number of times the robot travels on a preset path with the first driving parameter; and if the first number is greater than the number threshold corresponding to the preset number, increase the first driving parameter to obtain a reference driving parameter.

[0209] In some embodiments, the determining module 740 is configured to: increase the first driving parameter by a first preset value to obtain a second driving parameter; the control module 720 is configured to control the robot to drive on a preset path a preset number of times based on the second driving parameter; and the acquisition module 730 is configured to acquire second driving information when the robot drives along the preset path. The determining module 740 is configured to: determine a second error parameter for the robot based on the second driving information and the preset path; determine a second number of times the second error parameter is greater than a second error threshold among the preset number of times the robot drives on the preset path based on the second driving parameter; and determine the second driving parameter as a reference driving parameter if the second number of times is greater than the number of times threshold.

[0210] In some embodiments, the determining module 740 is configured to: reduce the reference driving parameters to obtain the target driving parameters when the robot's driving error parameters are greater than a second error threshold.

[0211] In some embodiments, the acquisition module 730 includes a wheeled odometer, an image acquisition device, and a gyroscope; the determination module 740 is configured to: determine the relative position of the robot based on the detection results of the wheeled odometer, and determine the absolute position of the robot based on the detection results of the image acquisition device; determine the position error corresponding to the robot based on the relative position and the absolute position; wherein the travel error parameter includes the position error; determine the first heading angle of the robot based on the detection results of the wheeled odometer, and determine the second heading angle of the robot based on the detection results of the gyroscope; determine the angle error corresponding to the robot based on the first heading angle and the second heading angle; wherein the travel error parameter includes the angle error.

[0212] In some embodiments, the determining module 740 is configured to: reduce the reference driving parameters to obtain the target driving parameters when the position error is greater than the position error threshold and / or the cumulative angle error within a preset time is greater than the angle error threshold; wherein the second error threshold includes the position error threshold and the angle error threshold.

[0213] In some embodiments, the determining module 740 is configured to: reduce the reference driving parameters by a second preset value to obtain intermediate driving parameters; control the robot to drive according to the planned path based on the intermediate driving parameters; determine the error parameters corresponding to the intermediate driving parameters based on the intermediate driving parameters and the planned path; and determine the intermediate driving parameters as target driving parameters if the error parameters corresponding to the intermediate driving parameters are less than or equal to a second error threshold.

[0214] In some embodiments, the determining module 740 is configured to: process the angle error and position error based on a first algorithm to determine a first speed parameter; determine a second speed parameter based on target driving parameters and a second algorithm; and process the first speed parameter and the second speed parameter based on a kinematic model to determine the target speed corresponding to the robot. The control module 720 is configured to: control the robot to travel along a planned path based on the target speed; and after the robot has finished traveling along the planned path, control the robot to travel along the planned path based on reference driving parameters.

[0215] In some embodiments, the acquisition module 730 includes a laser odometry and a wheel odometry; the determination module 740 is further configured to: determine that the robot has slipped if, within a preset time interval, the difference between the first pose change determined by the laser odometry and the second pose change determined by the wheel odometry exceeds a pose change threshold; and determine the target pose of the robot after slipping based on the first pose information determined by the laser odometry and / or the second pose information determined by the wheel odometry. The control module 720 is configured to: control the robot to travel along a planned path based on target driving parameters according to the target pose.

[0216] In some embodiments, the determining module 740 is configured to: determine a target pose based on the first pose information determined by the laser odometry; or, determine a target pose based on the first pose information and the first weight determined by the laser odometry, and the second pose information and the second weight determined by the wheel odometry; wherein the first weight is greater than the second weight.

[0217] In some embodiments, the acquisition module 710 is further configured to: acquire initial point cloud data of the robot's environment detected by the laser odometry. The determination module 740 is further configured to: filter the initial point cloud data to obtain multiple feature point cloud data, and establish a correspondence between the feature point cloud data; and determine the target pose of the robot after it has slipped based on the correspondence between the feature point cloud data.

[0218] In some embodiments, the robot 700 further includes a sending module, and the determining module 740 is further configured to: determine a first friction coefficient corresponding to a first position where the robot slips on the planned path, based on target driving parameters, when it is determined that the robot has slipped on the planned path. The sending module is configured to send the first position, the first friction coefficient, and a first timestamp of the slip at the first position to a server in the warehouse system, so as to update the initial friction coefficient map corresponding to the target warehouse through the server and obtain a target friction coefficient map; wherein, the target friction coefficient map includes the mapping relationship between multiple positions where each robot in the target warehouse slips and multiple friction coefficients and multiple timestamps.

[0219] In some embodiments, the acquisition module 710 is further configured to: acquire a target friction coefficient map; the determination module 740 is further configured to, when the robot travels to the second position of the target warehouse, determine a second friction coefficient corresponding to the second position based on the target friction coefficient map; determine a third driving parameter corresponding to the second position of the robot based on the second friction coefficient; and the control module 720 is further configured to control the robot to pass through the second position based on the third driving parameter.

[0220] In some embodiments, the sending module is further configured to: when it is determined that the robot has slipped at the first position, send abnormal information to the display device in the warehousing system so that the display device outputs an abnormal prompt message corresponding to the first position.

[0221] In some embodiments, the control module 720 is further configured to: after the robot completes the task to be performed in the target warehouse based on the target driving parameters, adjust the target driving parameters to reference driving parameters, and execute the next task to be performed based on the reference driving parameters.

[0222] Figure 8 is a schematic diagram of an electronic device provided in an embodiment of this disclosure. In some embodiments, the electronic device includes one or more processors and a memory. The memory is configured to store one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the method for controlling the robot to move as described in the above embodiments.

[0223] As shown in Figure 8, the electronic device 1000 includes a processor 1001 and a memory 1002. Exemplarily, the electronic device 1000 may also include a communications interface 1003 and a communications bus 1004.

[0224] The processor 1001, memory 1002, and communication interface 1003 communicate with each other via communication bus 1004. Communication interface 1003 is used to communicate with other network elements such as clients or other servers.

[0225] In some embodiments, the processor 1001 is used to execute program 1005, specifically performing the relevant steps in the above-described method embodiments for controlling the robot's movement. Specifically, program 1005 may include program code, which includes computer-executable instructions.

[0226] For example, processor 1001 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present disclosure. Electronic device 1000 may include one or more processors, which may be processors of the same type, such as one or more CPUs; or they may be processors of different types, such as one or more CPUs and one or more ASICs.

[0227] In some embodiments, memory 1002 is used to store program 1005. Memory 1002 may include high-speed RAM memory, and may also include non-volatile memory (NVM), such as at least one disk storage device.

[0228] Specifically, program 1005 can be called by processor 1001 to cause electronic device 1000 to perform operations that control the robot's movement.

[0229] This disclosure provides a computer-readable storage medium storing at least one executable instruction that, when executed on an electronic device 1000, causes the electronic device 1000 to perform the method for controlling the movement of a robot as described above.

[0230] The executable instructions can be used to cause the electronic device 1000 to perform operations that control the robot's movement.

[0231] For example, the computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), magnetic tape, floppy disk, and optical data storage device, etc.

[0232] In some embodiments, this disclosure provides a computer program product including a computer program stored on a non-transitory computer-readable storage medium, the computer program including program instructions that, when executed by a computer, cause the computer to perform the method for controlling the movement of a robot as described in any of the above embodiments.

[0233] In some embodiments, this disclosure also provides a computer program that, when executed by a processor, can implement the method for controlling the movement of a robot as described in any of the above embodiments.

[0234] The beneficial effects that the robot, electronic device, computer-readable storage medium, computer program product, and computer program provided in this disclosure can achieve are similar to the beneficial effects of the method for controlling robot movement provided above, and will not be repeated here.

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

[0236] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the apparatus embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0237] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus or device (such as a computer-based system, a processor-included system or other system that can fetch and execute instructions from, an instruction execution system, apparatus or device).

[0238] For the purposes of this specification, "computer-readable medium" can mean any means that can contain, store, communicate, propagate, or transmit programs for use by or in conjunction with an instruction execution system, apparatus, or device.

[0239] More specific examples (a non-exhaustive list) of computer-readable media include the following: electrical connections having one or more wires (electronic devices), portable computer disks (magnetic devices), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM).

[0240] Furthermore, the computer-readable medium can even be paper or other suitable media on which the program can be printed, because the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing it as necessary, and then stored in computer memory. It should be understood that various parts of this disclosure can be implemented in hardware, software, firmware, or a combination thereof.

[0241] In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.

[0242] The embodiments described above do not constitute a limitation on the scope of protection of this disclosure.

Claims

1. A method for controlling the movement of a robot, applied to a robot in a warehousing system, the method comprising: Obtain the task to be executed corresponding to the robot; wherein, the task to be executed includes a planned path; Based on the reference driving parameters corresponding to the robot, the robot is controlled to travel in the target warehouse according to the planned path; The robot's detection device collects target driving information during the robot's movement through the target warehouse; Based on the target driving information and the planned path, the driving error parameters of the robot are determined; The reference driving parameters are adjusted based on the driving error parameters to obtain the target driving parameters, and the robot is controlled to drive along the planned path based on the target driving parameters to complete the task to be performed.

2. The method according to claim 1, wherein, Before controlling the robot to travel along the planned path in the target warehouse based on the reference driving parameters corresponding to the robot, the method further includes: Obtain the preset path corresponding to the target warehouse and the preset driving parameters corresponding to the robot; Based on the preset path and the preset driving parameters, the reference driving parameters corresponding to the robot in the target warehouse are determined.

3. The method according to claim 2, wherein, The step of determining the reference driving parameters of the robot corresponding to the target warehouse based on the preset path and the preset driving parameters includes: Based on the preset driving parameters, a first driving parameter corresponding to the robot is determined, and the robot is controlled to drive on the preset path a preset number of times with the first driving parameter; wherein, the first driving parameter is less than the preset driving parameter; The detection device collects first driving information of the robot as it travels along the preset path. Based on the first driving information and the preset path, the first error parameter of the robot is determined; The reference driving parameters are obtained by adjusting the first driving parameters based on the first error parameters.

4. The method according to claim 3, wherein, The step of adjusting the first driving parameters based on the first error parameter to obtain the reference driving parameters includes: In a preset number of times the robot travels on the preset path with the first driving parameters, a first number of times is determined to be less than or equal to the first error threshold. If the first number of times exceeds the threshold corresponding to the preset number of times, the first driving parameter is increased to obtain the reference driving parameter.

5. The method according to claim 4, wherein, The step of increasing the first driving parameter to obtain the reference driving parameter includes: The first driving parameter is increased by a first preset value to obtain the second driving parameter; The robot is controlled to travel the preset number of times on the preset path based on the second driving parameters, and the second driving information of the robot when traveling along the preset path is collected by the detection device. Based on the second driving information and the preset path, the second error parameter of the robot is determined; In the preset number of times the robot travels on the preset path based on the second driving parameters, a second number of times is determined in which the second error parameter is greater than the second error threshold; If the second number of times is greater than the number threshold, the second driving parameter is determined as the reference driving parameter.

6. The method according to any one of claims 1-5, wherein, The step of adjusting the reference driving parameters based on the driving error parameters to obtain the target driving parameters includes: If the robot's driving error parameter is greater than the second error threshold, the reference driving parameter is reduced to obtain the target driving parameter.

7. The method according to claim 6, wherein, The detection device includes a wheeled odometer, an image acquisition device, and a gyroscope; The step of determining the robot's driving error parameters based on the target driving information and the planned path includes: Based on the detection results of the wheeled odometer, the relative position of the robot is determined, and based on the detection results of the image acquisition device, the absolute position of the robot is determined. Based on the relative position and the absolute position, the position error corresponding to the robot is determined; wherein, the driving error parameter includes the position error; Based on the detection results of the wheel odometer, the first heading angle of the robot is determined, and based on the detection results of the gyroscope, the second heading angle of the robot is determined. Based on the first heading angle and the second heading angle, the angular error corresponding to the robot is determined; wherein, the driving error parameter includes the angular error.

8. The method according to claim 7, wherein, When the robot's driving error parameter is greater than a second error threshold, the reference driving parameter is adjusted to obtain the target driving parameter, including: If the position error is greater than the position error threshold, and / or the accumulated angle error within a preset time is greater than the angle error threshold, the reference driving parameters are adjusted to obtain the target driving parameters; wherein, the second error threshold includes the position error threshold and the angle error threshold.

9. The method according to claim 8, wherein, The process of reducing the reference driving parameters to obtain the target driving parameters includes: The reference driving parameters are reduced by a second preset value to obtain intermediate driving parameters; The robot is controlled to travel along the planned path based on the intermediate driving parameters. Based on the intermediate driving parameters and the planned path, determine the error parameters corresponding to the intermediate driving parameters; If the error parameter corresponding to the intermediate driving parameter is less than or equal to the second error threshold, the intermediate driving parameter is determined as the target driving parameter.

10. The method according to claim 8, wherein, The control of the robot to travel according to the planned path based on the target driving parameters includes: The first speed parameter is determined by processing the angle error and the position error based on the first algorithm. Based on the target driving parameters and the second algorithm, the second speed parameter is determined; The first velocity parameter and the second velocity parameter are processed based on the kinematic model to determine the target velocity corresponding to the robot; Based on the target speed, control the robot to travel along the planned path; The method further includes: After the robot has completed its journey along the planned path, it is controlled to move within the target warehouse based on the reference driving parameters.

11. The method according to any one of claims 1-10, wherein, The detection device includes a laser odometer and a wheel odometer; the method further includes: If, within a preset time interval, the difference between the first pose change determined by the laser odometry and the second pose change determined by the wheel odometry exceeds a pose change threshold, it is determined that the robot has slipped. Based on the first pose information determined by the laser odometry and / or the second pose information determined by the wheel odometry, the target pose of the robot after sliding is determined. The control of the robot to travel according to the planned path based on the target driving parameters includes: Based on the target pose, the robot is controlled to travel along the planned path according to the target driving parameters.

12. The method according to claim 11, wherein, Determining the target pose of the robot after slippage, based on the first pose information determined by the laser odometry and / or the second pose information determined by the wheel odometry, includes: The target pose is determined based on the first pose information determined by the laser odometry; or, The target pose is determined based on the first pose information and first weight determined by the laser odometry, and the second pose information and second weight determined by the wheel odometry; wherein the first weight is greater than the second weight.

13. The method according to claim 12, wherein, Determining the target pose based on the first pose information determined by the laser odometry includes: Acquire the initial point cloud data of the robot's environment detected by the laser odometry; The initial point cloud data is filtered to obtain multiple feature point cloud data, and a correspondence between the feature point cloud data is established. Based on the correspondence between the feature point cloud data, the target pose of the robot after it slides is determined.

14. The method according to any one of claims 1-13, further comprising: If it is determined that the robot has slipped on the planned path, a first coefficient of friction is determined based on the target driving parameters to the first position where the robot slipped. The first position, the first friction coefficient, and the first timestamp of slippage at the first position are sent to the server in the warehouse system so that the server can update the initial friction coefficient map corresponding to the target warehouse to obtain the target friction coefficient map; wherein, the target friction coefficient map includes the mapping relationship between multiple positions of slippage of each robot in the target warehouse and multiple friction coefficients and multiple timestamps.

15. The method according to claim 14, further comprising: Obtain the target friction coefficient map; When the robot travels to the second location of the target warehouse, the second friction coefficient corresponding to the second location is determined based on the target friction coefficient map; Based on the second friction coefficient, the third driving parameters corresponding to the robot at the second position are determined; The robot is controlled to pass through the second position based on the third driving parameters.

16. The method of claim 14, further comprising: If it is determined that the robot has slipped at the first position, an abnormal information is sent to the display device in the warehousing system so that the display device outputs an abnormal prompt message corresponding to the first position.

17. The method according to any one of claims 1-16, further comprising: After the robot completes the task to be performed according to the planned path based on the target driving parameters, the robot is controlled to execute the next task to be performed based on the reference driving parameters.

18. A method for controlling the movement of a robot, applied to a server in a warehousing system, the method comprising: The system receives a first position, a first coefficient of friction, and a first timestamp when the robot slips at the first position from the robot in the warehousing system; wherein the first position is the position where the robot slips in the target warehouse. Based on the first position, the first friction coefficient, and the first timestamp, the initial friction coefficient map corresponding to the target warehouse is updated to obtain the target friction coefficient map; wherein, the target friction coefficient map includes the mapping relationship between multiple positions where each robot in the target warehouse slips and multiple friction coefficients and multiple timestamps.

19. The method according to claim 18, further comprising: Based on the first timestamp, if no other robot slips at the first position within a preset time period, and the time period for establishing the first timestamp exceeds the preset time period, the first position, the first friction coefficient corresponding to the first position, and the first timestamp are removed from the target friction coefficient map.

20. A robot comprising: The acquisition module is configured to: acquire the task to be executed corresponding to the robot; wherein, the task to be executed includes a planned path; The control module is configured to control the robot to travel in the target warehouse according to the planned path based on the reference driving parameters corresponding to the robot. The data acquisition module is configured to: acquire target driving information of the robot during its movement through the robot's detection device in the target warehouse; The determination module is configured to: determine the robot's driving error parameters based on the target driving information and the planned path; and adjust the reference driving parameters based on the driving error parameters to obtain the target driving parameters. The control module is configured to control the robot to travel along the planned path based on the target driving parameters in order to complete the task to be performed.

21. An electronic device, comprising: One or more processors and memory; The memory is configured to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the method for controlling the movement of a robot according to any one of claims 1-17.

22. A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method for controlling the movement of a robot according to any one of claims 1-17.

23. A computer program product comprising a computer program that, when executed by a processor, implements the method for controlling the movement of a robot according to any one of claims 1-17.