Robot control method and device, robot and storage medium

By periodically obtaining robot information and predicting the movement trajectory profile, determining the maximum allowable speed to avoid obstacles, the problem of insufficient path planning flexibility when autonomous mobile robots encounter dynamic obstacles is solved, and stable obstacle avoidance and efficient path planning are achieved.

CN119847131APending Publication Date: 2025-04-18JUXING TECH SHENZHEN CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311342219.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-10-13
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

When autonomous mobile robots encounter dynamic obstacles, they need to adjust their travel routes to avoid obstacles, but this may cause other robots to re-plan their paths, limiting the flexibility of path planning.

Method used

By periodically obtaining the robot's position information, speed information and scene information, predicting the movement trajectory profile, and determining whether there are obstacles, determining the maximum allowable speed, generating control instructions to limit the robot's speed, ensuring collision avoidance and reducing the need for path re-planning.

Benefits of technology

It can achieve stable obstacle avoidance when encountering obstacles, reduce the readjustment of path planning, improve the flexibility of path planning of robots, and avoid the risk of other robots' wrong path planning caused by path adjustment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119847131A_ABST
    Figure CN119847131A_ABST
Patent Text Reader

Abstract

The invention discloses a robot control method and device, a robot and a storage medium. The control method comprises the steps that first pose information and first speed information of the robot and first scene information of a scene where the robot is located are obtained according to a first preset period; determining the current braking time of the robot according to the first speed information; according to the first pose information, the first speed information and the contour information of the robot, predicting a moving track contour of the robot in the current braking time; determining whether a first obstacle exists in the moving track contour according to the first scene information; under the condition that the first obstacle exists in the moving track contour, the maximum allowable speed of the robot is determined according to the first pose information, the contour information and the first scene information; generating a first control instruction according to the maximum allowable speed; and controlling the robot according to the first control instruction. According to the invention, the probability that the robot re-plans the path can be reduced, and the flexibility of path planning of the robot is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robot technology, and more specifically, to a robot control method, a robot control device, a robot, and a non-volatile computer-readable storage medium. Background Art

[0002] Autonomous Mobile Robots (AMRs) are robot systems that can autonomously navigate and perform tasks. They are widely used in logistics, manufacturing, warehouse management, healthcare, and service industries. The emergence of AMRs has greatly improved work efficiency and automation levels. However, in actual applications, AMRs have the ability to autonomously navigate and can detect obstacles in advance. When an obstacle appears on the AMR's route, the AMR needs to temporarily adjust the route to bypass the obstacle. For static obstacles, the route needs to be adjusted to avoid the obstacle. However, the paths planned in general AMR work scenarios generally do not have static obstacles, but mostly dynamic obstacles. For dynamic obstacles, since the obstacles can move, the obstacles may have left before the AMR collides with the obstacles. At this time, if the AMR has adjusted its route, the adjusted route may affect other AMRs, so all affected AMRs need to re-plan their routes. Although collisions can be prevented, the flexibility of AMR's path planning is greatly limited. It may even be difficult for other affected AMRs to plan the correct path after the AMR adjusts its path. Summary of the invention

[0003] Embodiments of the present application provide a robot control method, a robot control device, a robot, and a non-volatile computer-readable storage medium.

[0004] The control method of the robot of the implementation mode of the present application includes periodically acquiring the first posture information, first speed information, and first scene information of the scene where the robot is located according to a first preset period; determining the current braking time of the robot according to the first speed information; predicting the moving trajectory contour of the robot moving to the current braking time according to the first posture information, the first speed information and the contour information of the robot; determining whether there is a first obstacle in the moving trajectory contour according to the first scene information; in the case where there is a first obstacle in the moving trajectory contour, determining the maximum allowable speed of the robot according to the first posture information, the contour information and the first scene information, the maximum allowable speed being the maximum moving speed that can avoid the robot from colliding with the first obstacle; generating a first control instruction according to the maximum allowable speed, the first control instruction being used to limit the moving speed of the robot to be less than the maximum allowable speed; and controlling the robot according to the first control instruction.

[0005] In some embodiments, the first speed information includes the linear speed of the robot; the control method also includes pre-setting a first correspondence between the linear speed of the robot and the braking time; determining the current braking time of the robot based on the first speed information includes determining the current braking time based on the acquired linear speed of the robot and the first correspondence.

[0006] In some embodiments, the control method also includes pre-setting a second correspondence between the robot's linear speed and braking distance; determining the maximum allowable speed of the robot based on the first posture information, the contour information and the first scene information, including determining the minimum distance between the robot and the first obstacle based on the first posture information, the contour information and the first scene information; determining the maximum allowable speed based on the second correspondence and the minimum distance, the maximum allowable speed being the linear speed corresponding to the minimum distance in the second correspondence.

[0007] In some embodiments, the control method also includes periodically acquiring second posture information of the robot and second scene information of the scene where the robot is located according to a second preset period; predicting, based on the second posture information and the contour information, a first projection contour of the robot moving a first preset distance in the forward direction, a second projection contour of the robot rotating clockwise by a first preset angle, and a third projection contour of the robot rotating counterclockwise by a second preset angle; based on the second scene information, determining whether there is a second obstacle in any of the first projection contour, the second projection contour, and the third projection contour; when the second obstacle exists in any of the projection contours, generating a second control instruction, the second control instruction being used to control the robot to perform obstacle avoidance processing; controlling the robot according to the first control instruction includes: controlling the robot according to the first control instruction and the second control instruction.

[0008] In certain embodiments, the control method also includes when the second obstacle exists in the first projection outline, the obstacle avoidance processing includes prohibiting forward movement; when the second obstacle exists in the second projection outline, the obstacle avoidance processing includes prohibiting right turn; when the second obstacle exists in the third projection outline, the obstacle avoidance processing includes prohibiting left turn; when at least one second obstacle exists in the first projection outline, the second projection outline and the third projection outline, the obstacle avoidance processing includes retreating at a preset retreat speed for a preset retreat time.

[0009] In some embodiments, the control method also includes periodically acquiring collision position information according to a second preset period, the collision position information including position information where the robot collides; generating a second control instruction based on the collision position information; and controlling the robot according to the first control instruction includes controlling the robot according to the first control instruction and the second control instruction, the second control instruction being used to control the robot to perform obstacle avoidance processing.

[0010] In some embodiments, the first preset period is greater than the second preset period; and the execution priority of the first control instruction is lower than the execution priority of the second control instruction.

[0011] In some embodiments, the control method also includes periodically acquiring relevant data of the robot according to a third preset period; generating a third control instruction based on the relevant data of the robot, and the third control instruction is used to control the robot to move according to a global path and / or a local path; the third preset period is greater than the first preset period; the execution priority of the third control instruction is lower than the execution priority of the first control instruction; controlling the robot according to the first control instruction includes controlling the robot according to the first control instruction, the second control instruction and the third control instruction.

[0012] In some embodiments, the first process generating the first control instruction, the second process generating the second control instruction, and the third process generating the third control instruction are isolated from each other.

[0013] The robot control device of the embodiment of the present application includes a first acquisition module, a first determination module, a first prediction module, a second determination module, a third determination module, a first generation module, and a control module. The first acquisition module is used to periodically acquire the first posture information, the first speed information, and the first scene information of the scene where the robot is located according to a first preset period; the first determination module is used to determine the current braking time of the robot according to the first speed information; the first prediction module is used to predict the moving trajectory profile of the robot moving the current braking time according to the first posture information, the first speed information and the contour information of the robot; the second determination module is used to determine whether there is a first obstacle in the moving trajectory profile according to the first scene information; the third determination module is used to determine the maximum allowable speed of the robot according to the first posture information, the contour information and the first scene information when there is a first obstacle in the moving trajectory profile, and the maximum allowable speed is the maximum moving speed that can avoid the robot from colliding with the first obstacle; the first generation module is used to generate a first control instruction according to the maximum allowable speed, and the first control instruction is used to limit the moving speed of the robot to be less than the maximum allowable speed; the control module is used to control the robot according to the first control instruction.

[0014] The robot of the embodiment of the present application includes a processor, a memory and a computer program, wherein the computer program is stored in the memory and executed by the processor, and the computer program includes instructions for executing any one of the control methods of the robot described above.

[0015] The computer-readable storage medium of the embodiment of the present application includes a computer program. When the computer program is executed by a processor, the processor executes any one of the above-mentioned robot control methods.

[0016] The control method, control device, robot and computer-readable storage medium of the embodiment of the present application periodically obtain the posture information, speed information and scene information of the robot through the sensor set on the robot, so as to determine the current braking time of the robot at the current speed. Then, by obtaining the contour information of the robot (such as the length and width of the robot), the moving trajectory contour of the robot's current braking time can be estimated. In the case of obstacles in the moving trajectory contour, according to the position of the robot and the posture relative to the obstacle, the size of the robot and the environment in which the robot is located, the maximum allowable speed of the robot to avoid collision with the obstacle can be determined, and the robot is decelerated in advance, and the moving speed of the robot is reduced to less than or equal to the maximum allowable speed, so that when the subsequent obstacle avoidance is required, there is sufficient reaction time, which can not only ensure the subsequent stable obstacle avoidance, but also try not to change the moving direction of the robot (unless the collision occurs immediately when the obstacle is not avoided), thereby reducing the probability of the robot re-planning the path, improving the flexibility of the robot's path planning, and reducing the probability that other robots affected by the robot are difficult to plan the correct path after the robot re-plans the path.

[0017] Additional aspects and advantages of the embodiments of the present application will be given in part in the description below, and in part will become apparent from the description below, or will be learned through the practice of the embodiments of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the description of the embodiments in conjunction with the following drawings, in which:

[0019] Figure 1 is a flowchart of a robot control method according to certain embodiments of the present application;

[0020] Figure 2 is a schematic plan view of a robot according to some embodiments of the present application;

[0021] Figure 3 is a scene schematic diagram of the movement trajectory outline of the robot in certain embodiments of the present application;

[0022] Figure 4 is a schematic plan view of a radar of a robot according to certain embodiments of the present application;

[0023] Figure 5 This is a schematic diagram of a first correspondence between braking time and linear speed in certain embodiments of the present application;

[0024] Figure 6 is a flowchart of a robot control method according to certain embodiments of the present application;

[0025] Figure 7 is a flowchart of a robot control method according to certain embodiments of the present application;

[0026] Figure 8 is a schematic diagram of a second correspondence between braking time and linear speed in certain embodiments of the present application;

[0027] Fig. 9 is a flowchart of a robot control method according to certain embodiments of the present application;

[0028] Fig.10 is a schematic diagram of a projection profile of a robot according to certain embodiments of the present application;

[0029] Fig.11 is a flowchart of a robot control method according to certain embodiments of the present application;

[0030] Fig.12 is a flowchart of a robot control method according to certain embodiments of the present application;

[0031] Fig.13 is a schematic diagram of a module of a control device of a robot in certain embodiments of the present application;

[0032] Fig.14 It is a schematic diagram of the connection status of a non-volatile computer-readable storage medium and a processor in certain embodiments of the present application. DETAILED DESCRIPTION

[0033] The embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals represent the same or similar elements or elements having the same or similar functions from beginning to end. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the embodiments of the present application, and cannot be understood as limiting the embodiments of the present application.

[0034] See also Figures 1 to 4 The robot control method provided in the embodiment of the present application is applied to the robot 100, and the control method includes:

[0035] Step 011: periodically acquiring first posture information, first speed information, and first scene information of the scene where the robot 100 is located according to a first preset period;

[0036] Among them, the control method of the present application is applied to the robot 100, and the robot 100 can be an autonomous mobile robot 100 (Autonomous Mobile Robot, AMR), an automated guided vehicle (Automated Guided Vehicle, AGV), a gripper, a tractor, a forklift, a reach stacker, a warehouse robot 100 and other mobile devices, and the robot 100 also includes a processor 70 and a memory 60, the processor 70 can execute the steps of the control method, and the memory 60 can be used to store data.

[0037] Specifically, the robot 100 is provided with an encoder 31, a radar 32 and a camera 33. The camera 33 may be a monocular camera, a binocular camera, a depth camera, etc. The camera 33 can store the posture information and scene information of the robot 100 in the memory 60 (e.g. the camera 33 can collect the posture and position of the robot, and the environment in which the robot is located). The encoder 31 may be a wheel encoder, the frequency of the encoder 31 may be 100 Hz, and the encoder 31 can store the collected first speed information in the memory 60 (e.g. the encoder 31 can collect the moving speed of the robot). The radar 32 may be a laser radar, an ultrasonic radar, etc. There are multiple radars 32, which are respectively located at different positions of the robot 100. Figure 4 As shown, the number of radars 32 may be four, two of which are arranged directly in front of the robot 100 , one of which is arranged on the left side of the robot 100 , and one of which is arranged on the right side of the robot 100 .

[0038] The coverage angle of radar 32 can be 60 degrees, the coverage distance of radar 32 can be 25 meters, the rotation frequency of radar 32 can be 10 circles per second, the number of points per circle of radar 32 can be 400 points, the angular resolution of radar 32 can be 0.9 degrees per point, and radar 32 can store the collected scene information in memory 60 (such as radar 32 can collect the environment where the robot is located).

[0039] The processor 70 can periodically obtain the first position information, first speed information and first scene information of the scene where the robot 100 is located according to a first preset period (such as the first preset period can be 0.01 seconds, 0.02 seconds, etc.). The first position information includes the position of the robot 100 and the length and width of the robot; the first speed information includes the linear speed information and angular speed information of the robot 100; the scene information can be a two-dimensional map or a three-dimensional map of the area where the robot 100 is active. For example, the scene information can be a two-dimensional map or a three-dimensional map of the warehouse where the robot 100 is active, or a two-dimensional map or a three-dimensional map of the robot 100 in the logistics room.

[0040] Step 012: Determine the current braking time of the robot 100 according to the first speed information;

[0041] Specifically, after acquiring the first speed information of the robot 100, the processor 70 can determine the current braking time of the robot 100, and different first speed information corresponds to different current braking times. For example, when the processor 70 acquires the first speed information of the robot 100 as 0.3 meters per second, the current braking time is 0.5 seconds; when the processor 70 acquires the first speed information of the robot 100 as 0.6 meters per second, the current braking time is 1 second.

[0042] Step 013: predicting the moving trajectory profile of the robot 100 at the current braking time according to the first posture information, the first speed information and the contour information of the robot 100;

[0043] Specifically, after acquiring the first posture, the first speed information, and the contour information of the robot 100, the processor 70 can predict the movement trajectory of the robot 100 within the current braking time, that is, the path of the robot 100 moving in the working scene according to the first speed information. The processor 70 can determine the movement trajectory profile S of the robot 100 according to the acquired movement trajectory and the contour information of the robot 100 (such as the contour information can be that the length of the robot 100 is 1.2 meters and the width is 0.7 meters). For example, the movement trajectory profile S can be the path of movement between the current posture formed according to the length and width of the robot 100 and the posture formed by moving with the first speed information and after the current braking time.

[0044] Step 14: Determine whether there is a first obstacle 200 in the moving trajectory profile S according to the first scene information;

[0045] Specifically, after the processor 70 obtains the first scene information and the moving trajectory profile S where the robot 100 is located, it is necessary to determine whether there is a first obstacle 200 in the moving trajectory profile S. For example, the processor 70 can explore the environment where the robot 100 is located through the radar 32 or the camera 33, and after determining the moving trajectory profile S, it can determine whether there is a first obstacle 200 in the moving trajectory profile S through image recognition technology processing.

[0046] Step 015: When the first obstacle 200 exists in the moving trajectory profile, the maximum allowable speed of the robot 100 is determined according to the first posture information, the profile information and the first scene information, where the maximum allowable speed is the maximum moving speed that can avoid the robot 100 from colliding with the first obstacle 200;

[0047] Step 016: Generate a first control instruction according to the maximum allowable speed, the first control instruction is used to limit the moving speed of the robot 100 to be less than the maximum allowable speed;

[0048] Step 017: Control the robot 100 according to the first control instruction.

[0049] Specifically, when the processor 70 determines from the acquired first scene information that there is a first obstacle 200 within the moving trajectory contour S that the robot 100 needs to pass through, the processor 70 can determine the maximum allowable speed of the robot 100 while avoiding collision with the first obstacle 200 based on the first posture information, contour information and first scene information of the robot 100, so that the processor 70 can generate a first control instruction for limiting the moving speed of the robot 100 to less than the maximum allowable speed based on the maximum allowable speed, and control the movement of the robot 100 according to the first control instruction.

[0050] For example, when the processor 70 determines from the acquired first scene information that there is a first obstacle 200 in the moving trajectory profile S that the robot 100 needs to pass, the processor 70 can determine that the maximum allowable speed of the robot 100 is 1 meter per second based on the current position of the robot 100, whether the current posture of the robot 100 is facing the first obstacle 200, the length and width of the robot 100, and the scene in which the robot 100 is located. Then, the processor 70 generates a first control instruction based on the maximum allowable speed of 1 meter per second, and controls the robot 100 to move at a speed of 0.8 meters per second.

[0051] In this way, the position information, speed information and scene information of the robot 100 are periodically obtained through the sensors set on the robot 100, so that the current braking time of the robot 100 braking at the current speed can be determined. Then, by obtaining the contour information of the robot 100 (such as the length and width of the robot), the moving trajectory contour S of the robot 100 at the current braking time can be estimated. When there is an obstacle 200 in the moving trajectory profile S, the maximum allowable speed of the robot 100 to avoid colliding with the obstacle 200 can be determined according to the position of the robot 100 and the posture relative to the obstacle 200, the size of the robot 100 and the environment in which the robot 100 is located. By decelerating the robot 100 in advance, the moving speed of the robot 100 is reduced to less than or equal to the maximum allowable speed, so that when obstacle avoidance is required later, there is sufficient reaction time, which can not only ensure the subsequent stable obstacle avoidance, but also try not to change the moving direction of the robot 100 (unless a collision occurs immediately without obstacle avoidance), thereby reducing the probability of the robot 100 re-planning the path, improving the flexibility of the robot 100's path planning, and reducing the probability that other robots 100 affected by the robot 100 will find it difficult to plan a correct path after the robot 100 re-plans the path.

[0052] See also Figure 5and Figure 6 In some embodiments, the first speed information includes the linear speed of the robot 100; the control method further includes:

[0053] Step 018: presetting a first corresponding relationship between the linear speed and the braking time of the robot 100;

[0054] Step 012: Determine the current braking time of the robot 100 according to the first speed information, including:

[0055] Step 0121: Determine the current braking time according to the acquired linear speed of the robot 100 and the first corresponding relationship.

[0056] Specifically, the first speed information includes the linear speed of the robot 100, and there is a first corresponding relationship between the linear speed of the robot 100 and the current braking time. For example, the first corresponding relationship may be that the linear speed of the robot 100 is proportional to the current braking time, and the first corresponding relationship can be obtained by performing multiple tests. For example, by performing multiple braking tests on the robot 100, the braking time of the robot 100 at the linear speed in each braking test can be obtained, and then the linear speed and braking time obtained in each braking test are taken as a set of data, and multiple sets of data can be obtained after multiple braking tests. Finally, the first corresponding relationship can be obtained by fitting the multiple sets of data obtained by the multiple braking tests.

[0057] After acquiring the linear velocity of the robot 100, the processor 70 can determine the current braking time according to the first corresponding relationship. For example, if the processor 70 acquires the linear velocity of the robot 100 as 0.6 m / s, the processor 70 can determine the current braking time of the robot 100 as 1 second according to the first corresponding relationship.

[0058] In this way, by pre-setting the correspondence between the linear speed of the robot 100 and the braking time of the robot 100, after determining the speed information of the robot 100, the braking time required for the robot 100 to stop moving at the current speed can be known in advance, so that the robot 100 can decelerate in advance when an obstacle 200 appears in the moving path of the robot 100.

[0059] See also Figure 7 and Figure 8 In some embodiments, the control method further comprises:

[0060] Step 019: presetting a second corresponding relationship between the linear speed and the braking distance of the robot 100;

[0061] Step 015: Determine the maximum permissible speed of the robot 100 according to the first posture information, the contour information and the first scene information, including:

[0062] Step 0151: Determine the minimum distance between the robot 100 and the first obstacle 200 according to the first posture information, the contour information and the first scene information;

[0063] Step 0152: Determine the maximum allowable speed according to the second corresponding relationship and the minimum distance, where the maximum allowable speed is the linear speed corresponding to the minimum distance in the second corresponding relationship.

[0064] Specifically, the first speed information includes the linear speed of the robot 100, and there is a second corresponding relationship between the linear speed and the braking distance of the robot 100. For example, the second corresponding relationship may be that the linear speed of the robot 100 is proportional to the braking distance, and the second corresponding relationship can be obtained by performing multiple tests. For example, by performing multiple braking tests on the robot 100, the braking distance of the robot 100 at the linear speed in each braking test can be obtained, and then the linear speed and the braking distance obtained in each braking test are taken as a set of data, and multiple sets of data can be obtained after multiple braking tests. Finally, the multiple sets of data obtained by multiple braking tests are fitted to obtain the second corresponding relationship.

[0065] After acquiring the first posture information, contour information and first scene information of the robot 100, the processor 70 can determine the minimum distance between the robot 100 and the first obstacle 200. It should be noted that different first posture information of the robot 100 corresponds to different minimum distances. For example, when the shape of the current robot 100 is a quadrangular prism, the minimum distance of the robot 100 facing the first obstacle 200 is different from the minimum distance when there is an angle between the robot 100 and the first obstacle 200.

[0066] The processor 70 can determine the linear speed of the robot 100 corresponding to the minimum distance in the second corresponding relationship based on the acquired minimum distance and the preset second corresponding relationship.

[0067] For example, the processor 70 obtains through calculation that the minimum distance between the robot 100 and the first obstacle 200 is 1.2 meters, and then according to the second corresponding relationship, it can be determined that the linear speed corresponding to the minimum distance is 1 meter per second.

[0068] Optionally, since it takes a certain amount of time for the robot 100 to adjust to the target linear speed, during this period of time, the positions of the robot 100 and / or the obstacle 200 may move, for example, the moving obstacle 200 may be a person or other movable robot 100, etc. At this time, according to the position of the moving obstacle 200, the minimum distance may change, so that the braking distance becomes longer or shorter, and the robot 100 needs to redetermine the maximum allowable speed according to the changed braking distance and the second corresponding relationship between the minimum distance and the maximum allowable speed, so that the processor 70 needs to adjust the linear speed according to the redetermined maximum allowable speed.

[0069] In this way, by pre-setting the correspondence between the linear speed of the robot 100 and the braking distance of the robot 100, after determining the speed information of the robot 100, the braking distance required for the robot 100 to stop moving at the current speed can be known in advance, so that when an obstacle 200 appears in the moving path of the robot 100, the robot 100 can slow down in advance to avoid exceeding the braking distance and colliding with the obstacle 200.

[0070] See also Fig. 9 and Fig.10 In some embodiments, the control method further comprises:

[0071] Step 020: periodically acquiring second posture information of the robot 100 and second scene information of the scene where the robot 100 is located according to a second preset period;

[0072] Step 021: predicting, based on the second posture information and the contour information, a first projection contour L1 of the robot 100 moving a first preset distance in the forward direction, a second projection contour L2 of the robot 100 rotating clockwise by a first preset angle, and a third projection contour L3 of the robot 100 rotating counterclockwise by a second preset angle;

[0073] Step 022: judging whether there is a second obstacle 200 in any one of the first projection profile L1, the second projection profile L2 and the third projection profile L3 according to the second scene information;

[0074] Step 023: When there is a second obstacle 200 in any projection contour, a second control instruction is generated, and the second control instruction is used to control the robot 100 to perform obstacle avoidance processing;

[0075] Step 017: According to the first control instruction, control the robot 100, including:

[0076] Step 0171: Control the robot 100 according to the first control instruction and the second control instruction.

[0077] Specifically, the processor 70 can periodically acquire the second posture information of the robot 100 and the second scene information of the scene where the robot 100 is located according to the second preset period (such as the second preset period can be 0.005 seconds, 0.01 seconds, etc.), and the first preset period is greater than the second preset period (such as when the first preset period is 0.02 seconds, the second preset period is 0.01 seconds). The second posture information includes the position and length and width of the robot 100; the second scene information can be a two-dimensional map or a three-dimensional map of the area where the robot 100 is active. For example, the second scene information can be a two-dimensional map or a three-dimensional map of the warehouse where the robot 100 is active, or a two-dimensional map or a three-dimensional map of the robot 100 in the logistics room.

[0078] The processor 70 can predict the first projection profile L1, the second projection profile L2 and / or the third projection profile L3 formed by the robot 100 during the movement according to the second posture information and the profile information of the robot 100, and the first projection profile L1, the second projection profile L2 and / or the third projection profile L3 can move according to the movement of the robot 100. For example, when the robot 100 moves a first preset distance (the first preset distance can be obtained according to an empirical value, such as the first preset distance can be 5 cm, 10 cm, etc.) in the forward direction, the first projection profile L1 can be formed; when the robot 100 moves along a first preset angle (the first preset angle can be obtained according to an empirical value, such as the first preset angle can be 30 degrees, 45 degrees, etc.) in a clockwise rotation, the second projection profile L2 can be formed; when the robot 100 moves along a second preset angle (the second preset angle can be obtained according to an empirical value, such as the second preset angle can be 30 degrees, 45 degrees, etc.) in a counterclockwise rotation, the third projection profile L3 can be formed.

[0079] When the processor 70 determines that the obstacle 200 is located in the first projection contour L1, the second projection contour L2, and / or the third projection contour L3, and according to the second scene information, it can be determined whether the second obstacle 200 exists in the first projection contour L1, the second projection contour L2, and / or the third projection contour L3, and according to the second obstacle 200 being located in the first projection contour L1, the second projection contour L2, and / or the third projection contour L3, the processor 70 can generate a second control instruction, and the execution priority of the first control instruction is lower than the execution priority of the second control instruction, that is, when the processor 70 receives the first control instruction and the second control instruction at the same time, the second control instruction is executed first. The processor 70 controls the robot 100 to execute the corresponding obstacle avoidance processing when the obstacle 200 is in the first projection contour L1, the second projection contour L2, and / or the third projection contour L3 according to the first control instruction and the second control instruction.

[0080] In some embodiments, when the second obstacle 200 is located in the first projection contour L1, the processor 70 controls the robot 100 to execute the second control instruction prohibiting forward movement; when the second obstacle 200 is located in the second projection contour L2, the processor 70 controls the robot 100 to execute the second control instruction prohibiting right turn; when the second obstacle 200 is located in the third projection contour L3, the processor 70 controls the robot 100 to execute the second control instruction prohibiting left turn; when the second obstacle 200 is located in both the first projection contour L1 and the second projection contour L2, The processor 70 controls the robot 100 to execute control instructions prohibiting forward movement and prohibiting right turn; when the obstacle 200 is located in the first projection contour L1 and the third projection contour L3 at the same time, the processor 70 controls the robot 100 to execute control instructions prohibiting forward movement and prohibiting left turn; when the obstacle 200 is located in the first projection contour L1, the second projection contour L2 and the third projection contour L3 at the same time, the processor 70 controls the robot 100 to retreat at a preset backward speed (such as the backward speed can be 0.5 meters per second) and a preset backward time (such as the backward time can be 1 second) according to the second control instruction.

[0081] In this way, by determining whether the obstacle 200 is located in the first projection contour L1, the second projection contour L2 and / or the third projection contour L3, it is possible to determine whether the processor 70 needs to perform obstacle avoidance processing on the robot 100, thereby controlling the robot 100 to avoid obstacles stably and improving the flexibility of the path planning of the robot 100.

[0082] See also Fig.11 In some embodiments, the control method further comprises:

[0083] Step 024: periodically acquiring collision position information according to a second preset period, where the collision position information includes position information where the robot 100 collides;

[0084] Step 025: Generate a second control instruction according to the collision position information;

[0085] Step 017: According to the first control instruction, control the robot 100, including:

[0086] Step 0172: Control the robot 100 according to the first control instruction and the second control instruction, wherein the second control instruction is used to control the robot 100 to perform obstacle avoidance processing.

[0087] Specifically, the processor 70 can periodically obtain the collision position information of the robot 100 colliding with the obstacle 200 according to the second preset period (such as the collision position information includes the position information of the robot 100 colliding with the obstacle 200). The collision position information can be obtained by a collision sensor, such as a mechanical collision sensor, a magnetic collision sensor, or a photoelectric collision sensor. The processor 70 can generate a second control instruction according to the acquired collision position information, and the processor 70 can control the robot 100 to perform obstacle avoidance processing according to the first control instruction and the second control instruction. For example, according to the collision position between the robot 100 and the obstacle 200, the processor 70 can control the robot 100 to execute the second control instruction of retreating at a moving speed less than the maximum allowed speed, control the robot 100 to execute the second control instruction of prohibiting movement, control the robot 100 to execute the second control instruction of moving to the left, or control the robot 100 to execute the second control instruction of moving to the right.

[0088] In this way, by generating a second control instruction based on the collision position information, the robot 100 is controlled to perform obstacle avoidance processing, so that the obstacle avoidance processing is only executed when it collides with the obstacle 200, thereby further reducing the triggering probability of the obstacle avoidance processing, and can improve the flexibility of the path planning of the robot 100, and reduce the probability that other affected robots 100 will find it difficult to plan the correct path after the robot 100 re-plans the path.

[0089] Optionally, the control method also includes periodically acquiring second posture information of the robot 100 and second scene information of the scene where the robot 100 is located according to a second preset period; determining the maximum distance between the robot 100 and the second obstacle 200 based on the second posture information, contour information and second scene information; generating a second control instruction when the maximum distance reaches a preset collision distance; controlling the robot 100 according to the first control instruction and the second control instruction, the second control instruction being used to control the robot 100 to perform obstacle avoidance processing, and the preset collision distance being less than the maximum distance between each position point in the moving trajectory contour and the robot 100.

[0090] Specifically, the processor 70 can periodically obtain the second posture information of the robot 100 and the second scene information of the scene where the robot 100 is located according to the second preset period. The second posture information and the second scene information can be obtained in the same way as the first posture information and the first scene information, or can be different. For example, the second posture information and the second scene information can be obtained by sensors such as laser radar, ultrasonic radar, wheel encoder or depth camera. The processor 70 can determine the maximum distance between the robot 100 and the second obstacle 200 based on the second posture information, contour information and second scene information.

[0091] When the processor 70 determines that the maximum distance between the obstacle 200 and the robot 100 reaches the preset collision distance, it can generate a second control instruction and control the robot 100 to perform obstacle avoidance processing to reduce the collision force or avoid collision, wherein the preset collision distance (such as the preset collision distance can be 0.05 meters) is smaller than the maximum distance between each position point in the moving trajectory profile S and the robot 100, thereby ensuring that the obstacle avoidance processing is performed after the aforementioned pre-deceleration processing to ensure the flexibility of the robot 100.

[0092] Optionally, the preset collision distance is determined based on the current speed and preset duration of the robot 100, and the preset duration is less than the current braking time; alternatively, the preset collision distance may be a second preset distance, for example, the preset collision distance may be set to 3 cm, 5 cm, etc. based on empirical values.

[0093] Optionally, the processor 70 controls the robot 100 to perform obstacle avoidance processing, including at least one of the processor 70 controlling the robot 100 to brake to stop, the processor 70 controlling the robot 100 to move backward, and the processor 70 adjusting the moving direction of the robot 100. For example, according to the second control instruction, the processor 70 can control the robot 100 to brake to a stop in front of the obstacle 200 at the current speed without colliding with the obstacle 200, or when the obstacle 200 moves toward the robot 100, control the robot 100 to move backward facing the obstacle 200 to avoid colliding with the obstacle 200, or control the robot 100 to move left or control the robot 100 to move right to bypass the obstacle 200.

[0094] In this way, by obtaining the position of the obstacle 200 and performing obstacle avoidance processing when the distance between the obstacle 200 and the robot 100 reaches the preset collision distance, it is possible to avoid or reduce the collision when the obstacle 200 and the robot 100 are about to collide.

[0095] See also Fig.12 In some embodiments, the control method further comprises:

[0096] Step 026: periodically acquiring relevant data of the robot 100 according to a third preset period; the third preset period is greater than the first preset period;

[0097] Step 027: Generate a third control instruction according to the relevant data of the robot 100, where the third control instruction is used to control the robot 100 to move according to the global path and / or the local path; the execution priority of the third control instruction is lower than the execution priority of the first control instruction;

[0098] Step 017: According to the first control instruction, control the robot 100, including:

[0099] Step 0173: Control the robot 100 according to the first control instruction, the second control instruction and the third control instruction.

[0100] Specifically, the processor 70 can periodically acquire the relevant data of the robot 100 according to the third preset period, such as the relevant data of the robot 100 can be data acquired by a camera sensor, data acquired by a radar sensor, and data acquired by an inertial sensor. And the third preset period is greater than the first preset period (for example, when the third preset period is 0.05 seconds, the first preset period is 0.01 seconds).

[0101] The processor 70 can re-plan the global path or local path of the robot 100 according to the relevant data of the robot 100, and make the destination of the moving path before and after the re-planning the same. At the same time, the processor 70 can generate a third control instruction according to the relevant data of the robot 100. The execution priority of the third control instruction is lower than the execution priority of the first control instruction, that is, when the processor 70 receives the first control instruction and the third control instruction at the same time, the first control instruction is executed first. The processor 70 can control the robot 100 to move to the initially set destination according to the global path and the local path through the first control instruction, the second control instruction and the third control instruction.

[0102] In this way, by acquiring relevant data of the robot 100 and generating a third control instruction for controlling the robot 100 to move according to a global path and a local path, it is possible to ensure that the robot 100 performs tasks according to a correct path.

[0103] In some embodiments, the first control instruction is configured to control the linear velocity of the robot 100; the second control instruction includes a first linear velocity control instruction and a first angular velocity control instruction, and the first linear velocity control instruction and the first angular velocity control instruction are respectively configured to control the linear velocity and angular velocity of the robot 100; the third control instruction includes a second linear velocity control instruction and a second angular velocity control instruction, and the second linear velocity control instruction and the second angular velocity control instruction are respectively configured to control the linear velocity and angular velocity of the robot 100. Among them, the execution priority of the second linear velocity control instruction is lower than the execution priority of the first linear velocity control instruction, and the execution priority of the second angular velocity control instruction is lower than the execution priority of the first angular velocity control instruction. In the case of multiple control instructions at the same time, only the control instruction with the highest priority is executed.

[0104] Specifically, the processor 70 generates a first control instruction according to the first posture information, the first speed information and the first scene information of the robot 100, and the processor 70 can control the linear speed of the robot 100 when there is an obstacle 200 in the moving trajectory profile S of the robot 100 according to the first control instruction, so that the linear speed of the robot 100 is reduced; the second control instruction can be generated according to the second posture information, the second scene information and the profile information of the robot 100, and the second control instruction includes a first linear speed control instruction and a first angular speed control instruction, the first linear speed control instruction can be to control the linear speed of the robot 100 when the distance between the robot 100 and the obstacle 200 reaches a preset collision distance, and the first angular speed control instruction can be to control the angular speed of the robot 100 when the distance between the robot 100 and the obstacle 200 reaches a preset collision distance. When the processor 70 receives the first control instruction and the second control instruction at the same time, it executes the second control instruction first.

[0105] The processor 70 can generate a third control instruction according to the relevant data of the robot 100, and the third control instruction can be to control the speed of the robot 100 according to the obstacle-free path 200 generated according to the destination and scene information. For example, the third control instruction includes a second linear speed control instruction and a second angular speed control instruction, and the second linear speed control instruction can be to control the linear speed of the robot 100 when there is no obstacle 200 in the moving trajectory profile S of the robot 100; the second angular speed control instruction can be to control the angular speed of the robot 100 when there is no obstacle 200 in the moving trajectory profile S of the robot 100. The execution priority of the second linear velocity control instruction is lower than the execution priority of the first linear velocity control instruction, that is, when the processor 70 receives the first linear velocity control instruction and the second linear velocity control instruction at the same time, it gives priority to executing the first linear velocity control instruction; the execution priority of the second angular velocity control instruction is lower than the execution priority of the first angular velocity control instruction, that is, when the processor 70 receives the first angular velocity control instruction and the second angular velocity control instruction at the same time, it gives priority to executing the first angular velocity control instruction; and when there are multiple control instructions at the same time, the processor 70 only executes the control instruction with the highest priority, such as when the processor 70 receives the first control instruction, the second control instruction and the third control instruction at the same time, it gives priority to executing the second control instruction.

[0106] Optionally, the first process that generates the first control instruction, the second process that generates the second control instruction, and the third process that generates the third control instruction are isolated from each other, so that the first process, the second process and the third process are independent of each other and do not affect each other, thereby ensuring the independence and accuracy of their respective instruction outputs.

[0107] Optionally, the generation frame rates of the first control instruction and the second control instruction are both greater than the generation frame rate of the third control instruction, and the generation frequency of the first control instruction and the second control instruction generated by the processor 70 is both greater than the generation frequency of the third control instruction, so that the robot 100 can adjust the path in time when encountering an obstacle 200.

[0108] In this way, by setting the priority of the execution instruction, when the obstacle avoidance is triggered, the obstacle avoidance process can be given priority to ensure the stability of the obstacle avoidance.

[0109] Optionally, when there is no obstacle 200 in the moving trajectory profile S, the speed of the robot 100 is restored to the speed before adjustment.

[0110] Specifically, when the processor 70 moves to the moving trajectory profile S where there is no obstacle 200, the processor 70 needs to restore the current speed of the robot 100 to the speed before encountering the obstacle 200, and when receiving the third control instruction, adjust the speed of the robot 100 according to the second linear velocity and the second angular velocity included in the third control instruction, so as to quickly restore the moving speed of the robot 100 and improve the working efficiency of the robot 100.

[0111] See also Fig.13 The embodiment of the present application also provides a robot control device 10, which includes a first acquisition module 11, a first determination module 12, a first prediction module 13, a second determination module 14, a third determination module 15, a first generation module 16 and a control module 17. The first acquisition module 11 is used to periodically acquire the first posture information, the first speed information, and the first scene information of the scene where the robot 100 is located according to the first preset period; the first determination module 12 is used to determine the current braking time of the robot 100 according to the first speed information; the first prediction module 13 is used to predict the movement trajectory profile S of the robot 100 at the current braking time according to the first posture information, the first speed information and the contour information of the robot 100; the second determination module 14 is used to determine whether there is a first obstacle 200 in the movement trajectory profile S according to the first scene information; the third determination module 15 is used to determine the maximum allowable speed of the robot 100 according to the first posture information, the contour information and the first scene information when the first obstacle 200 exists in the movement trajectory profile S, and the maximum allowable speed is the maximum moving speed that can avoid the robot 100 from colliding with the first obstacle 200; the first generation module 16 is used to generate a first control instruction according to the maximum allowable speed, and the first control instruction is used to limit the moving speed of the robot 100 to be less than the maximum allowable speed; the control module 17 is used to control the robot 100 according to the first control instruction.

[0112] The control device 10 further includes a setting module 18 , which is used to pre-set a first corresponding relationship between the linear speed of the robot 100 and the braking time.

[0113] The first determination module 12 is specifically configured to determine the current braking time according to the acquired linear velocity of the robot 100 and the first corresponding relationship.

[0114] The setting module 18 is specifically used to pre-set a second corresponding relationship between the linear speed and the braking distance of the robot 100 .

[0115] The third determination module 15 is specifically used to: determine the minimum distance between the robot 100 and the first obstacle 200 according to the first posture information, the contour information and the first scene information; determine the maximum allowable speed according to the second corresponding relationship and the minimum distance, and the maximum allowable speed is the linear speed corresponding to the minimum distance in the second corresponding relationship.

[0116] The control device 10 further includes a second acquisition module 19, which is used to periodically acquire second posture information of the robot 100 and second scene information of the scene where the robot 100 is located according to a second preset period.

[0117] The control device 10 also includes a second prediction module 20, which is used to predict, based on the second posture information and contour information, a first projection contour L1 of the robot 100 moving a first preset distance along the forward direction, a second projection contour L2 of the robot 100 rotating clockwise at a first preset angle, and a third projection contour L3 of the robot 100 rotating counterclockwise at a second preset angle.

[0118] The control device 10 further includes a judgment module 21, which is used to judge whether there is a second obstacle 200 in any one of the first projection contour L1, the second projection contour L2 and the third projection contour L3 according to the second scene information.

[0119] The control device 10 further includes a second generating module 22, which is used to generate a second control instruction when a second obstacle 200 exists in any projection contour, and the second control instruction is used to control the robot 100 to perform obstacle avoidance processing.

[0120] The control module 17 is specifically used to control the robot 100 according to the first control instruction and the second control instruction.

[0121] The second acquisition module 19 is specifically used to periodically acquire collision position information according to a second preset period, where the collision position information includes position information where the robot 100 collides.

[0122] The second generating module 22 is specifically configured to generate a second control instruction according to the collision position information.

[0123] The control module 17 is specifically used to control the robot 100 according to the first control instruction and the second control instruction, and the second control instruction is used to control the robot 100 to perform obstacle avoidance processing.

[0124] The control device 10 further includes a third acquisition module 23, which is used to periodically acquire relevant data of the robot 100 according to a third preset period; the third preset period is greater than the first preset period.

[0125] The control device 10 also includes a third generation module 24, which is used to generate a third control instruction based on relevant data of the robot 100, and the third control instruction is used to control the robot 100 to move according to a global path and / or a local path; the execution priority of the third control instruction is lower than the execution priority of the first control instruction.

[0126] The control module 17 is specifically used to control the robot 100 according to the first control instruction, the second control instruction and the third control instruction.

[0127] Please refer again Figure 2 The embodiment of the present application also provides a robot 100, which includes a processor 70 and a memory 60, and a computer program is stored in the memory 60. When the computer program is executed by the processor 70, it can implement the steps of the robot control method of any of the above embodiments.

[0128] Specifically, the robot 100 may be an autonomous mobile robot 100 (Autonomous Mobile Robot, AMR), which is an autonomous mobile robot 100 that is widely used in automated operations in warehousing and logistics environments. The AMR is capable of autonomous navigation, for example, the AMR is capable of using laser navigation, visual navigation, or simultaneous localization and mapping (SLAM) technologies, and is capable of autonomously planning paths, avoiding obstacles 200, and accurately navigating in a warehouse environment.

[0129] AMR is able to perform tasks intelligently. For example, AMR can perform a variety of tasks, such as cargo handling, picking, warehousing, loading and unloading. AMR can make autonomous decisions and perform tasks according to the instructions of the warehouse management system to adapt to dynamic logistics needs.

[0130] AMR is flexible and scalable. For example, AMR has a modular design and can be flexibly configured and expanded as needed. AMR can be autonomously scheduled and work together to adapt to changes and different task requirements in the warehouse.

[0131] AMRs are highly safe. For example, they are equipped with sensors and safety features that allow them to sense their surroundings in real time and avoid collisions. AMRs can safely share workspaces with people and other equipment and have emergency stop and safety protection mechanisms.

[0132] AMRs are capable of real-time communication and monitoring. For example, AMRs can communicate with warehouse management systems or central control systems in real time to transmit task status and receive instructions. Managers can track and monitor AMRs' location, task progress, and performance indicators through monitoring systems.

[0133] In this way, AMR can improve the efficiency, accuracy and flexibility of warehouse operations, reduce manpower requirements, shorten logistics cycles, and improve the visibility and accuracy of inventory management. In addition, AMR can adapt to the rapidly changing logistics environment and needs, and provide higher productivity and customer satisfaction through autonomous scheduling and collaborative work.

[0134] Optionally, the robot 100 includes a processor 70 and a memory 60, and a computer program 61 is stored in the memory 60. When the computer program 61 is executed by the processor 70, the processor 70 can also execute the robot control method of any of the above-mentioned embodiments, which will not be described in detail here for the sake of brevity.

[0135] See also Fig.14 The embodiment of the present application also provides a computer-readable storage medium 300 on which a computer program 310 is stored. When the computer program 310 is executed by a processor 320, the steps of the robot control method of any of the above-mentioned embodiments are implemented. For the sake of brevity, they are not repeated here.

[0136] In the description of this specification, the descriptions with reference to the terms "certain embodiments", "in an example", "exemplarily", etc., mean that the specific features, structures, materials or characteristics described in conjunction with the embodiments or examples are included in at least one embodiment or example of the present application. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, unless they are contradictory.

[0137] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code that includes one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by technicians in the technical field to which the embodiments of the present application belong.

[0138] Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limitations on the present application. Ordinary technicians in this field can change, modify, replace and modify the above embodiments within the scope of the present application.

Claims

1. A robot control method, characterized in that: The control method comprises: According to a first preset period, periodically acquiring first posture information, first speed information, and first scene information of a scene where the robot is located; Determining a current braking time of the robot according to the first speed information; Predicting a moving trajectory profile of the robot at the current braking time according to the first posture information, the first speed information and the contour information of the robot; Determining whether there is a first obstacle within the moving trajectory profile according to the first scene information; In a case where there is a first obstacle in the moving trajectory profile, determining a maximum allowable speed of the robot according to the first posture information, the profile information and the first scene information, the maximum allowable speed being a maximum moving speed that can avoid the robot from colliding with the first obstacle; generating a first control instruction according to the maximum allowable speed, wherein the first control instruction is used to limit the moving speed of the robot to be less than the maximum allowable speed; The robot is controlled according to the first control instruction.

2. The control method according to claim 1, characterized in that: The first speed information includes the linear speed of the robot; the control method further includes: Presetting a first corresponding relationship between the linear speed and the braking time of the robot; Determining the current braking time of the robot according to the first speed information includes: The current braking time is determined according to the acquired linear speed of the robot and the first corresponding relationship.

3. The control method according to claim 1, characterized in that: Also includes: Presetting a second corresponding relationship between the linear speed and the braking distance of the robot; Determining a maximum allowable speed of the robot according to the first posture information, the contour information, and the first scene information includes: Determining a minimum distance between the robot and the first obstacle according to the first posture information, the contour information, and the first scene information; The maximum allowable speed is determined according to the second corresponding relationship and the minimum distance, and the maximum allowable speed is the linear speed corresponding to the minimum distance in the second corresponding relationship.

4. The control method according to claim 1, characterized in that: The control method further comprises: According to a second preset period, periodically acquiring second posture information of the robot and second scene information of the scene where the robot is located; According to the second posture information and the contour information, predict a first projection contour of the robot moving a first preset distance in the forward direction, a second projection contour of the robot rotating clockwise by a first preset angle, and a third projection contour of the robot rotating counterclockwise by a second preset angle; Determine, according to the second scene information, whether there is a second obstacle in any one of the first projection outline, the second projection outline, and the third projection outline; When the second obstacle exists in any of the projection contours, a second control instruction is generated, where the second control instruction is used to control the robot to perform obstacle avoidance processing; The step of controlling the robot according to the first control instruction comprises: The robot is controlled according to the first control instruction and the second control instruction.

5. The control method according to claim 4, characterized in that: When the second obstacle exists in the first projection profile, the obstacle avoidance process includes prohibiting forward movement; When the second obstacle exists in the second projection profile, the obstacle avoidance process includes prohibiting a right turn; When the second obstacle exists in the third projection profile, the obstacle avoidance process includes prohibiting a left turn; When at least one of the second obstacles exists in each of the first projection profile, the second projection profile, and the third projection profile, the obstacle avoidance process includes retreating at a preset retreat speed for a preset retreat time.

6. The control method according to claim 1, characterized in that: The control method further comprises: According to a second preset period, periodically acquiring collision position information, wherein the collision position information includes position information where the robot collides; generating a second control instruction according to the collision position information; The step of controlling the robot according to the first control instruction comprises: The robot is controlled according to the first control instruction and the second control instruction, wherein the second control instruction is used to control the robot to perform obstacle avoidance processing.

7. The control method according to any one of claims 4 to 6, characterized in that: The first preset period is greater than the second preset period; The execution priority of the first control instruction is lower than the execution priority of the second control instruction.

8. The control method according to claim 4, characterized in that: The control method further comprises: According to a third preset period, periodically acquiring relevant data of the robot; generating a third control instruction according to the relevant data of the robot, wherein the third control instruction is used to control the robot to move according to a global path and / or a local path; The third preset period is greater than the first preset period; The execution priority of the third control instruction is lower than the execution priority of the first control instruction; The step of controlling the robot according to the first control instruction comprises: The robot is controlled according to the first control instruction, the second control instruction and the third control instruction.

9. The control method according to claim 8, characterized in that: The first process generating the first control instruction, the second process generating the second control instruction, and the third process generating the third control instruction are isolated from each other.

10. A robot control device, characterized in that: The control device comprises: A first acquisition module, used for periodically acquiring first posture information, first speed information of the robot, and first scene information of a scene where the robot is located according to a first preset period; A first determining module, configured to determine a current braking time of the robot according to the first speed information; A first prediction module, configured to predict a moving trajectory profile of the robot moving at the current braking time according to the first posture information, the first speed information and the profile information of the robot; A second determination module, configured to determine whether there is a first obstacle within the moving trajectory profile according to the first scene information; a third determining module, configured to determine, when there is a first obstacle in the moving trajectory profile, a maximum allowable speed of the robot according to the first posture information, the profile information and the first scene information, wherein the maximum allowable speed is a maximum moving speed that can avoid the robot from colliding with the first obstacle; A first generating module, used for generating a first control instruction according to the maximum allowable speed, wherein the first control instruction is used for limiting the moving speed of the robot to be less than the maximum allowable speed; A control module is used to control the robot according to the first control instruction.

11. A robot, characterized in that: include: Processor, memory; and A computer program, wherein the computer program is stored in the memory and executed by the processor, and the computer program includes instructions for executing the robot control method according to any one of claims 1 to 9.

12. A non-volatile computer-readable storage medium containing a computer program, wherein when the computer program is executed by a processor, the processor executes the robot control method according to any one of claims 1 to 9.