Method and device for controlling robot, and robot

WO2026166390A1PCT designated stage Publication Date: 2026-08-13BEIJING ROBOROCK INNOVATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2026-01-28
Publication Date
2026-08-13

Smart Images

  • Figure CN2026075536_13082026_PF_FP_ABST
    Figure CN2026075536_13082026_PF_FP_ABST
Patent Text Reader

Abstract

The present application provides a method and device for controlling a robot, and a robot. The method comprises: acquiring sensing data from at least one sensor of a robot; and when it is determined on the basis of the sensing data that a first state of the robot on a first operating surface falls outside a preset state range, triggering adjustment of at least one of the speed and steering of a driving assembly of the robot, such that the robot automatically adjusts the movement direction thereof, thereby enabling the robot to safely and stably move to a second operating surface within the preset state range.
Need to check novelty before this filing date? Find Prior Art

Description

Robot control methods and devices, robots Cross-references to related applications

[0001] This disclosure claims priority to Chinese patent application No. 202510148826.0, filed on February 10, 2025, the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to intelligent control technology, including but not limited to control methods and devices for robots, and robots themselves. Background Technology

[0003] With the continuous advancement of science and technology, the robotics industry is experiencing rapid development. More and more robots are appearing in people's daily lives, becoming an indispensable part of modern life. Raised platforms (such as tatami mats, low balconies, etc.) and stairs are common obstacles in daily life, and robots with climbing capabilities have wide applications. For example, robots can be used to move other robots (such as robot vacuums, floor scrubbers, etc.) or other household items from lower floors to higher floors (or vice versa). Summary of the Invention

[0004] This application provides a robot control method and device, and a robot.

[0005] In a first aspect, embodiments of this application provide a robot control method, the method comprising: acquiring sensing data from at least one sensor of the robot; determining, based on the sensing data, that the robot is on a first operating surface and in a first state; when the first state deviates from a preset state range, adjusting at least one of the speed and steering of the robot's drive components to bring the robot within the preset state range; and controlling the robot to move to a second operating surface; wherein the first operating surface and the second operating surface have a height difference.

[0006] Secondly, embodiments of this application provide a robot control device, the device comprising: an acquisition module for acquiring sensing data from at least one sensor of the robot; a determination module for determining, based on the sensing data, that the robot is on a first operating surface and in a first state; and an adjustment module for adjusting, when the first state deviates from a preset state range, at least one of the speed and steering of the robot's drive components to bring the robot within the preset state range, and controlling the robot to move to a second operating surface; wherein the first operating surface and the second operating surface have a height difference.

[0007] Thirdly, embodiments of this application provide a robot comprising: a main body; at least one sensor connected to the main body; a drive assembly connected to the main body; and a processor for acquiring sensing data from the at least one sensor. The processor is configured to: determine, based on the sensing data, that the main body is on a first operating surface and in a first state; when the first state deviates from a preset state range, adjust at least one of the speed and direction of the drive assembly to bring the main body within the preset state range; and control the movement of the main body to a second operating surface, wherein the second operating surface has a height difference from the first operating surface.

[0008] Fourthly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the methods described in embodiments of this application.

[0009] Fifthly, embodiments of this application provide a computer program product, including a computer program or instructions, which, when executed by a processor, implement the method described in embodiments of this application.

[0010] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description

[0011] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the specification, serve to explain the technical solutions of this application. Obviously, the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.

[0012] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.

[0013] Figure 1 is a schematic diagram of the implementation process of the robot control method provided in the embodiment of this application.

[0014] Figure 2 is a front view of a robot climbing a building scene provided in an embodiment of this application.

[0015] Figure 3 is a schematic diagram of a further implementation of step 102 provided in an embodiment of this application.

[0016] Figure 4 is a schematic diagram of a further implementation of step 301 provided in an embodiment of this application.

[0017] Figure 5 is a schematic diagram of the tangent angle provided in an embodiment of this application.

[0018] Figure 6 is a schematic diagram of a robot climbing a building according to an embodiment of this application.

[0019] Figure 7 is a schematic diagram of the implementation process of the robot control method provided in the embodiment of this application.

[0020] Figure 8 is a schematic diagram of the structure of the robot control device provided in the embodiment of this application.

[0021] Figure 9 is a schematic diagram of the structure of the robot provided in an embodiment of this application. Detailed Implementation

[0022] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the specific technical solutions of this application will be further described in detail below with reference to the accompanying drawings of the embodiments of this application. The following embodiments are used to illustrate this application, but are not intended to limit the scope of this application.

[0023] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0024] In the following description, references to "some embodiments," "this embodiment," "this application embodiment," and examples, etc., describe a subset of all possible embodiments. However, it is understood that "some embodiments" may be the same subset or different subset of all possible embodiments and may be combined with each other without conflict.

[0025] The descriptions such as "first," "second," and "third" appearing in the embodiments of this application are for illustrative purposes and to distinguish the objects being described. They do not indicate any order and do not represent a special limitation on the number of devices in the embodiments of this application. They cannot constitute any limitation on the embodiments of this application.

[0026] This application provides a robot control method. The method is applied to various types of robots capable of climbing upwards and / or walking downwards (e.g., going up and / or down stairs), such as stair climbers and cleaning robots. The stair climber is used to transport cleaning robots or other objects from lower floors to higher floors, or vice versa. The functions implemented by this method can be achieved by a processor in the robot calling program code. This program code can be stored in a computer storage medium. Therefore, the robot includes at least a processor and a storage medium.

[0027] Figure 1 is a schematic diagram of the implementation process of the robot control method provided in the embodiment of this application. As shown in Figure 1, the method may include the following steps 101 to 103.

[0028] Step 101: Acquire sensing data from at least one sensor of the robot.

[0029] Step 102: Based on the sensing data from at least one sensor of the robot, determine that the robot is on the first operating surface and in a first state.

[0030] Step 103: When the first state deviates from the preset state range, adjust at least one of the speed and steering of the robot's drive component to bring the robot into the preset state range, and control the robot to move to the second operating surface; wherein the first operating surface and the second operating surface have a height difference.

[0031] It is understood that, in this embodiment, based on the sensing data from at least one sensor of the robot, it is determined whether the robot's first state on the first operating surface deviates from a preset state range. If it deviates from the preset state range, at least one of the speed and steering of the robot's drive components is automatically / autonomously adjusted, thereby enabling the robot to automatically adjust its direction of movement and move to the second operating surface within the preset state range. In other words, the robot control method provided in this embodiment, when the robot deviates from the preset state range (i.e., the safe state range), does not require remote control or human intervention, but autonomously and automatically adjusts its direction of movement, thereby safely and stably completing the movement from the first height / first operating surface to the second height / second operating surface.

[0032] The following sections will explain further implementation methods and related terms for the above steps.

[0033] Step 102: Based on the sensing data from at least one sensor of the robot, determine that the robot is on the first operating surface and in a first state.

[0034] In this embodiment, the type of the at least one sensor is not limited, as long as the first state of the robot on the first operating surface can be calculated based on the sensing data (i.e., measurement data or observation data) it senses. In some embodiments, the at least one sensor includes one or more of a TOF module, a camera module, an accelerometer, and a gyroscope.

[0035] In some embodiments, the first state includes at least one of the robot's angle state and position state. It should be noted that the robot's angle state can also be understood as the angle state of the robot's main body. The robot's position state can also be understood as the position state of the robot's main body.

[0036] In some embodiments, the robot's angular state is represented by a first included angle, which is the angle between the robot's direction of movement and a reference operating surface. This first included angle refers to the angle between the robot's direction of movement on the first operating surface and the reference operating surface before performing the adjustment operation described in step 103. The reference operating surface may include either the first operating surface or a second operating surface.

[0037] Furthermore, in some embodiments, the first included angle refers to the angle between the robot's direction of movement and the first direction, where the first direction refers to the direction from the second edge of the reference operating surface to the first edge of the reference operating surface.

[0038] In one implementation, the x-axis direction of the robot's body coordinate system can be used as the robot's movement direction when on the first operating surface, and the first included angle can be the angle between the x-axis direction and the first side of the reference operating surface. In some embodiments, FIG2 is a front view of a robot climbing a building scene provided in the embodiments of this application; as shown in FIG2, taking the robot 20 climbing a building as an example, the first included angle refers to the theta angle shown in FIG2, where the y-direction is parallel to the first seam line 201 between the second operating surface and the kick surface; the x-direction is the x-axis direction of the robot 20's body coordinate system (i.e., its own coordinate system); it should be noted that the y-direction here does not refer to the y-axis direction of the robot 20's body coordinate system, but rather to the direction from the second edge 202 along the first seam line 201 to the first edge 203.

[0039] For the scheme in which the angular state of the robot (i.e. the angular state of the robot's main body) is represented by a first included angle, in some embodiments, the first side of the reference operating surface (such as the first seam line mentioned above) can be determined based on the point cloud data collected by the robot's TOF module (i.e., an example of the sensing data); the first direction can be determined based on the first side; and the first included angle between the robot's movement direction on the first operating surface and the first direction can be determined.

[0040] It is understandable that after obtaining the point cloud data collected by the TOF module, the coordinate information of the sampling points belonging to the reference operating surface (such as the point cloud data of the second operating surface) can be determined based on the coordinate information of the sampling points recorded in the point cloud data. Based on this information, the first side of the reference operating surface (such as the first seam line between the second operating surface and the kick surface) can be determined. Based on the coordinate information of this first side in the body coordinate system, the angle between this side and the x-axis of the body coordinate system can be determined.

[0041] In some embodiments, for the scheme in which the robot's angular state is represented by a first included angle, the first side of the reference operating surface (such as the first seam line between the second operating surface and the kick surface) can be determined based on the image data collected by the robot's camera module; and the first direction can be determined based on the first side; and the first included angle between the robot's movement direction on the first operating surface and the first direction can be determined.

[0042] It is understandable that, after obtaining the image data acquired by the camera module, the first side of the reference operating surface (such as the first seam line between the second operating surface and the kick surface) can be determined. Based on the coordinate information of this first side in the body coordinate system, the angle between this side and the x-axis of the body coordinate system can be determined.

[0043] In some embodiments, the first included angle can be determined by combining point cloud data collected by the TOF module and image data collected by the camera module, rather than representing the robot's angular state by a first included angle.

[0044] In one implementation, camera modules and / or TOF modules can be placed on the front, top, or side surfaces of the robot; in short, these sensors can at least observe environmental information in front of the robot.

[0045] It should be noted that, in the embodiments of this application, the operating surface (e.g., the first operating surface, the second operating surface, and the reference operating surface, etc.) can be understood as the bearing surface / area where the robot can operate; in some embodiments, the operating surface can be the tread of a staircase or step, the ground, or a table, etc. The robot can perform operations. In some embodiments, the robot can move upwards (i.e., walk upwards) or downwards (i.e., walk downwards), etc.

[0046] Step 103: When the first state deviates from the preset state range, adjust at least one of the speed and steering of the robot's drive component to bring the robot into the preset state range, and control the robot to move to the second operating surface; wherein the first operating surface and the second operating surface have a height difference.

[0047] It is understood that, in this embodiment of the application, the trigger condition for the robot to adjust at least one of the speed and steering of its own drive components is that the first state deviates from the preset state range. That is, when the robot automatically detects that the first state on the first operating surface deviates from the preset state range based on its own sensors, it can autonomously / automatically adjust at least one of the speed and steering of its own drive components without human remote control or intervention, thereby changing its current direction of movement and thus being able to move safely and stably to the second operating surface within the preset state range.

[0048] In this embodiment, the method for adjusting the robot's movement direction is not limited. The movement direction can be adjusted by adjusting at least one of the speed and steering of the robot's drive components. That is, the implementation schemes for adjusting the robot's movement direction include the following three schemes.

[0049] Option 1: Adjusting the robot's direction of movement by adjusting the speed of its drive components. In some embodiments, the robot's drive components include a left wheel and a right wheel. By adjusting the speed difference between the left and right wheels, different motion trajectories can be generated, thereby adjusting the direction of movement; when the speed of the left wheel is greater than that of the right wheel, the robot will move to the right; conversely, it will move to the left.

[0050] Option 2: Adjusting the robot's direction of movement by changing the steering of its drive components. In some embodiments, the robot's drive components include servos (such as the front wheel steering mechanism in a four-wheel drive robot). By controlling the angle of the servos, the steering of the front wheels is changed, thereby adjusting the direction of movement.

[0051] Option 3: Adjusting the robot's direction of movement by modifying the speed and steering of its drive components. In some embodiments, the robot's drive components include omnidirectional wheels, allowing movement in any direction by independently controlling the steering and speed of these wheels, without relying on differentials or servos. In other embodiments, the robot's drive components include left and right wheels; by adjusting the speed difference between the left and right wheels and the steering of at least one wheel, different motion trajectories can be generated, thereby adjusting the direction of movement.

[0052] In this application embodiment, there are no restrictions on the further implementation of step 103. In some embodiments, step 103 may include: when the first state deviates from the preset state range, adjusting at least one of the speed and steering of the robot's drive component so that the angle between the robot's movement direction and the reference operating surface is within the preset state range, thereby enabling it to move towards the middle position of the second operating surface; wherein, the reference operating surface includes the first operating surface or the second operating surface.

[0053] Further, in some embodiments, at least one of the speed and steering of the robot's drive component can be adjusted according to the first state. In some embodiments, a first target speed corresponding to the first state is determined according to a pre-calibrated mapping relationship between the robot's state and speed; the current speed of the drive component is adjusted to the first target speed. In other embodiments, a first target steering corresponding to the first state is determined according to a pre-calibrated mapping relationship between the robot's state and steering; the current steering of the drive component is adjusted to the first target steering. In still other embodiments, a first target speed corresponding to the first state is determined according to a pre-calibrated mapping relationship between the robot's state and speed; a first target steering corresponding to the first state is determined according to a pre-calibrated mapping relationship between the robot's state and steering; the current speed of the drive component is adjusted to the first target speed; and the current steering of the drive component is adjusted to the first target steering.

[0054] The first target speed corresponding to the first state may include the speed of one component or the speed of multiple components. In some embodiments, the first target speed includes the target speeds of the left wheel and the right wheel, which may be the same or different.

[0055] Furthermore, in other embodiments, as shown in FIG3, adjusting at least one of the speed and steering of the robot's drive component so that the angle between the robot's direction of movement and the reference operating surface is within the preset state range may include the following steps 301 and 302.

[0056] Step 301: Determine the target angle based on the first state; wherein the target angle is within the preset state range.

[0057] In some embodiments, the angle state in the first state is represented by a first included angle, which is the angle between the robot's movement direction and the reference operating surface.

[0058] In some embodiments, as shown in FIG4, step 301 may include the following steps 401 and 402.

[0059] Step 401: Determine the deviation parameter of the robot's midpoint position relative to the reference operating surface based on the position state.

[0060] In this embodiment, the deviation parameter is used to characterize the degree of deviation of the robot from the midpoint of the reference operating surface; the method for determining the deviation parameter is not limited. In some embodiments, the deviation parameter may also be determined as follows: a first distance between the robot and a first edge of the reference operating surface is determined based on the position state; and a second distance between the robot and a second edge of the reference operating surface is determined based on the position state; the deviation parameter of the robot's midpoint relative to the reference operating surface is determined based on the first distance and the second distance. In some embodiments, the deviation parameter includes the difference between the first distance and the second distance.

[0061] In this design, the first edge and the second edge are opposite each other, and the first edge and the second edge are the edges on the left and right sides of the robot. In some embodiments, as shown in Figure 2, the first edge is 203, the second edge is 202, the first seam line is 201, the first distance is 204, and the second distance is 205.

[0062] In one implementation, determining the first distance and the second distance includes: identifying the first seam line between the second operating surface and the kick surface based on point cloud data collected by the robot; determining a third distance and a fourth distance between the first position and the first edge and the second edge, respectively, based on the coordinate information of the first seam line; extracting the wall and / or railing of the step where the second operating surface is located based on the point cloud data; correcting the third distance based on the coordinate information of the wall and / or railing to obtain the first distance; and correcting the fourth distance based on the coordinate information of the wall and / or railing to obtain the second distance.

[0063] In other embodiments, the deviation parameter can be determined by: determining the middle position of the second operating surface; determining a third distance between the first position and the middle position, and the deviation direction, wherein the deviation parameter includes the third distance and the deviation direction.

[0064] Step 402: Determine the target angle based on the deviation parameter and the first included angle.

[0065] It is understood that, in the embodiments of this application, adjusting at least one of the speed and steering of the drive component is based not only on the first included angle but also on the deviation parameter; thus, it is beneficial to adjust the robot's movement direction more reasonably, thereby ensuring that the robot can move smoothly and safely while reducing the number of adjustments to the drive component, and enabling the robot to reach the target location autonomously and quickly.

[0066] For schemes where the deviation parameter includes the difference between the first distance and the second distance, in some embodiments, step 402 can be implemented as follows: determine the target angle based on the difference between the first distance and the second distance and the relationship between the first angle and the first angle threshold; wherein, the first angle refers to the angle between the robot's movement direction and the first direction, and the first direction refers to the direction from the second edge to the first edge; wherein, when the first distance is less than the second distance (i.e., the robot's first position is biased towards the first edge), the target angle is greater than the first angle threshold and less than the second angle threshold, and the size of the target angle is positively correlated with the deviation parameter. In some embodiments, the larger the difference between the first distance and the second distance, the closer the robot is to the first edge and the greater its deviation from the middle position. In this case, the target angle can be closer to the second angle threshold. Conversely, the smaller the difference between the first distance and the second distance, the smaller the deviation of the robot from the middle position. In this case, the target angle can be closer to the first angle threshold. This makes the determined target angle more reasonable, so that the robot can adjust at least one of the speed and steering of the drive zone more appropriately according to the target angle, thereby reducing the possibility of the robot tipping over or deviating from the middle position and moving towards the second edge due to over-adjustment of the movement direction.

[0067] When the first distance is greater than the second distance (i.e., the robot's first position is biased towards the second edge), the target angle is greater than the third angle threshold and less than the first angle threshold, and the size of the target angle is negatively correlated with the deviation parameter. In some embodiments, the larger the difference between the first distance and the second distance, the closer the robot is to the second edge and the greater the degree of deviation from the intermediate position. In this case, the target angle can be set closer to the third angle threshold. Conversely, the smaller the difference between the first distance and the second distance, the smaller the degree of deviation of the robot from the intermediate position. In this case, the target angle can be set closer to the first angle threshold. This makes the determined target angle more reasonable, so that the robot can adjust at least one of the speed and steering of the drive zone more appropriately based on the target angle, thereby reducing the possibility of the robot tipping over or deviating from the intermediate position and moving towards the first edge due to over-adjustment of the movement direction.

[0068] It is understandable that when the first distance is less than the second distance, the target angle is set to be greater than the first angle threshold in order to make the robot move towards the intermediate position. However, the target angle cannot be set too large, as this may cause the robot to tip over. Therefore, the second angle threshold is the maximum angle (i.e., the maximum safe angle) to ensure that the robot remains standing. If the target angle is greater than the second angle threshold, then adjusting at least one of the speed and steering of the robot's drive components based on this target angle may cause the robot to tip over.

[0069] Similarly, when the first distance is greater than the second distance, the target angle is less than the first angle threshold, also to enable the robot to move towards the intermediate position. However, the target angle cannot be set too small, as this may cause the robot to tip over. Therefore, the third angle threshold is the minimum angle (i.e., the minimum safe angle) to ensure the robot remains standing. If the target angle is less than the third angle threshold, adjusting at least one of the robot's drive components' speed and steering based on this target angle may cause the robot to tip over.

[0070] In this embodiment, the magnitude of the first angle threshold is not limited. For non-rotating stairs, the first angle threshold can be set to 90° or greater than 90°; for rotating stairs, the first angle threshold is related to the rotation arc of the stairs. In some embodiments, the first angle threshold can be set to be greater than or equal to the tangent angle, which is the angle between the tangent of the arc connecting the midpoint of the second tread and the midpoint of the upper and lower treads and the first direction. In some embodiments, taking the height of the first tread being lower than the height of the second tread as an example, as shown in Figure 5, the tangent angle 501 is the angle between the tangent 502 (direction upward) and the first direction 503; where, for ease of understanding, the rotation of the stairs is represented by dashed lines. It should be noted that the first tread can be understood as an example of a first operating surface, and the second tread can be understood as an example of a second operating surface.

[0071] It should be noted that the above method for determining the target angle is not only applicable to scenarios where the height of the first operating surface is lower than that of the second operating surface. In some embodiments, the above method for determining the target angle is applicable to scenarios where the robot is climbing stairs, slopes, or other elevation-climbing activities. The above method for determining the target angle is also applicable to scenarios where the height of the first operating surface is higher than that of the second operating surface. In some embodiments, the above method for determining the target angle is applicable to scenarios where the robot is descending stairs, slopes, or other downward-moving activities.

[0072] Figure 6 is a schematic diagram of a robot climbing a building according to an embodiment of this application; as shown in Figure 6, the possible first states of the robot 60 on the first tread are state A, state B, state C, state D or state E.

[0073] Where A is state: theta < 90°, l_len <r_len。

[0074] State B: theta > 90°, l_len <r_len。

[0075] C state: theta≈90°, l_len≈r_len.

[0076] State D: theta > 90°, l_len > r_len.

[0077] E state: theta < 90°, l_len > r_len.

[0078] Where theta is an example of the first included angle, 90° is an example of the first angle threshold, l_len is an example of the first distance, and r_len is an example of the second distance; l_len and r_len are shown in Figure 2.

[0079] The robot control scheme for states A through E is as follows.

[0080] For states A and B, the robot can adjust the angle theta so that theta > 90° and theta < (90° + phi), allowing the robot to continue moving towards the middle of the stairs and avoiding getting stuck at the edge. Furthermore, in some embodiments, the adjustment of the angle theta also depends on the difference between l_len and r_len. In some embodiments, the larger the difference between l_len and r_len, the closer the adjusted theta will be to (90° + phi); conversely, the smaller the difference, the closer the adjusted theta will be to 90°. Here, (90° + phi) is an example of a second angle threshold, and 90° is an example of a first angle threshold.

[0081] For state C: The robot maintains its current state / posture and continues walking.

[0082] For states D and E, the robot adjusts the angle theta so that theta > phi and theta < 90°, allowing the robot to continue moving towards the middle of the stairs and avoid getting stuck at the edge. Furthermore, in some embodiments, the adjustment of theta also depends on the difference between l_len and r_len. In some embodiments, the larger the difference between l_len and r_len, the closer the adjusted theta will be to phi; conversely, the smaller the difference, the closer the adjusted theta will be to 90°. Here, phi is an example of a third angle threshold, and 90° is an example of a first angle threshold.

[0083] Step 302: Based on the target angle, adjust at least one of the speed and steering of the drive component so that the angle between the robot's direction of movement and the reference operating surface is within the preset range, thereby enabling it to move towards the middle position of the second operating surface.

[0084] In one implementation, a mapping relationship between the target angle and the speed of the drive component can be pre-defined. Based on this mapping relationship, a second target speed corresponding to the target angle is determined; the robot then adjusts the current speed of the drive component to the second target speed. In another implementation, a mapping relationship between the target angle and the steering of the drive component can be pre-defined. Based on this mapping relationship, a second target steering corresponding to the target angle is determined; the robot then adjusts the current steering of the drive component to the second target steering. In yet another implementation, a mapping relationship between the target angle and the speed and steering of the drive component can be pre-defined. Based on this mapping relationship, a second target speed and a second target steering corresponding to the target angle are determined; the robot then adjusts the current speed of the drive component to the second target speed and the current steering of the drive component to the second target steering.

[0085] For step 302, in some embodiments, the adjustment process may be to control the robot to move toward the second operating surface while the speed and / or steering of the drive component is changed, and the adjustment and the movement toward the second operating surface are performed simultaneously.

[0086] In some embodiments, step 302 may involve first changing at least one of the speed and direction of the drive component so that the angle between its direction of movement and the reference operating surface is the target angle, and then controlling the robot to move toward the second operating surface.

[0087] It is understood that the purpose of adjusting the movement parameters (including at least one of speed and steering) of the drive component in step 302 is to control the robot to move toward the middle position of the second operating surface. However, the position of the robot after moving to the second operating surface may or may not be the middle position.

[0088] In some embodiments of the above-described embodiments, the robot control method further includes: determining whether a first state of the robot on the first operating surface deviates from a preset state range when the robot moves from a third operating surface to a first operating surface; wherein the third operating surface, the first operating surface, and the second operating surface have a height difference. In other words, in one implementation, the condition that triggers the robot to determine whether it has deviated from the preset state range is that the robot moves from the third operating surface to the first operating surface; this helps to reduce the number of times the robot's drive components are controlled.

[0089] The robot control method described in one or more of the above embodiments can be applied to a wide variety of scenarios involving climbing or walking to lower places. In some embodiments, the robot control method described in one or more of the above embodiments can be applied to scenarios such as the robot going up and down stairs, climbing onto low platforms (such as low balconies or tatami mats), and walking down from low platforms.

[0090] The following example, using a robot climbing a building, illustrates the implementation scheme of the robot control method described in one or more of the above embodiments.

[0091] With the rapid development of technology and the continuous improvement of people's living standards, the proportion of multi-story households is increasing. Commonly used household cleaning robots cannot autonomously climb stairs, so without human assistance, they can only clean one floor. Even if the user carries the cleaning robot to another floor, it cannot autonomously descend to perform tasks such as washing the mop and refilling water during the cleaning process on the new floor, which is inconvenient and unintelligent for users. This application provides a robot control method that can control a household stair-climbing robot (an example of the robot in the above embodiments) to autonomously carry a household sweeping robot to complete stair-climbing actions. The following solution mainly describes the posture adjustment strategy of the stair-climbing robot when walking on stairs, helping it to smoothly and autonomously complete the entire stair-climbing action. However, this solution does not limit the embodiments of this application.

[0092] In most related technologies, the stair-climbing machine's ascent is accomplished through remote control. Because it requires human intervention, it is not intelligent.

[0093] Based on this, this application provides a robot control method. In this method, the angle between the stair climber and the stairs, and the position of the stair climber on the current stairs, are obtained through sensors such as TOF and cameras (not limited to these sensors). The speed of the left and right wheels of the stair climber is adjusted according to this angle and position, so that the head of the stair climber is perpendicular to the stairs to be climbed, and the stair climber is adjusted towards the center of the stairs to avoid danger at the edge of the stairs. Further, as shown in Figure 7, in this method, the stair climber uses sensors such as TOF and cameras (not limited to these sensors) to identify the stair surface, walls, and railings / handrails; based on these identification results, the angle of the multi-step stairs (i.e., an example of the first angle) and the length of the stairs on both sides of the stair climber (i.e., an example of the first distance and the second distance) are obtained; based on this angle and the length of the stairs on both sides of the stair climber, the movement of the two wheels is controlled, thereby adjusting towards the center of the stairs.

[0094] The following describes the angle of the multi-step staircase, the length of the staircases on both sides of the stair climber, and the method of controlling the movement of the two wheels.

[0095] Angle calculation for multi-step staircases

[0096] Sensors typically see more than one step within their field of view, and the angles of all visible steps can be calculated. Calculating more stair angles in advance allows for better planning and control. The angle calculation method for each step is as follows.

[0097] In one implementation, given the extrinsic and intrinsic parameters of the TOF module installed on the stair-climbing machine, the stair plane (the treads or elevations of the staircase) is located based on the TOF point cloud data. The normal vector of the plane is obtained by fitting the plane. The direction of the staircase is then determined based on the normal vector, thus yielding the angle theta between the x and y directions in Figure 2.

[0098] In another implementation, given the extrinsic and intrinsic parameters of the camera installation on the stair climber, the seam between the stair tread and the facade in the image is found based on the collected image data. A straight line is fitted, and the angle theta between the x and y directions in the above figure can be obtained based on the direction of the fitted straight line.

[0099] The length of the stairs on both sides of the stair climber

[0100] In the angle calculation of multi-level stairs, the stair-climbing machine can identify the point cloud to which the stair face or tread belongs through point cloud data. Based directly on the point cloud data, the lengths of l_len and r_len can be obtained.

[0101] Generally speaking, the length information of the stair surface near the stair climber may not be complete if the TOF field of view is insufficient and TOF data is used alone. Therefore, it is necessary to combine it with wall or railing recognition to obtain accurate l_len and r_len.

[0102] Extract the wall information (usually a flat plane) and railing information (usually columnar) from the point cloud. Further adjust l_len and r_len based on the position of the walls and railings.

[0103] Control Action

[0104] The next action of the stair climber is controlled based on the angle theta output in 1 and the l_len and r_len output in 2.

[0105] Assuming the stair climber travels on the stairs, the safe travel angle is ±phi. When theta is within this angle, the stair climber can safely ascend and descend the stairs without the risk of slipping or becoming unable to move. (phi < 90°)

[0106] Figure 6 is a schematic diagram of a robot climbing a building according to an embodiment of this application; as shown in Figure 6, the possible first states of the robot 60 on the first tread are state A, state B, state C, state D or state E.

[0107] Where A is state: theta < 90°, l_len <r_len。

[0108] State B: theta > 90°, l_len <r_len。

[0109] C state: theta≈90°, l_len≈r_len.

[0110] State D: theta > 90°, l_len > r_len.

[0111] E state: theta < 90°, l_len > r_len.

[0112] Where theta is an example of the first included angle, 90° is an example of the first angle threshold, l_len is an example of the first distance, and r_len is an example of the second distance; l_len and r_len are shown in Figure 2.

[0113] The robot control scheme for states A through E is as follows.

[0114] For states A and B, the robot can adjust the angle theta so that theta > 90° and theta < (90° + phi), allowing the robot to continue moving towards the middle of the stairs and avoiding getting stuck at the edge. Furthermore, in some embodiments, the adjustment of the angle theta also depends on the difference between l_len and r_len. In some embodiments, the larger the difference between l_len and r_len, the closer the adjusted theta will be to (90° + phi); conversely, the smaller the difference, the closer the adjusted theta will be to 90°. Here, (90° + phi) is an example of a second angle threshold, and 90° is an example of a first angle threshold.

[0115] For state C: The robot maintains its current state / posture and continues walking.

[0116] For states D and E, the robot adjusts the angle theta so that theta > phi and theta < 90°, allowing the robot to continue moving towards the middle of the stairs and avoid getting stuck at the edge. Furthermore, in some embodiments, the adjustment of theta also depends on the difference between l_len and r_len. In some embodiments, the larger the difference between l_len and r_len, the closer the adjusted theta will be to phi; conversely, the smaller the difference, the closer the adjusted theta will be to 90°. Here, phi is an example of a third angle threshold, and 90° is an example of a first angle threshold.

[0117] It should be noted that although the steps of the method in this application are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or one step may be broken down into multiple steps; or steps from different embodiments may be combined into a new technical solution.

[0118] Based on the foregoing embodiments, this application provides a robot control device, which includes various modules and units included in each module, and can be implemented by a processor; of course, it can also be implemented by specific logic circuits; in the implementation process, the processor can be an AI acceleration engine (such as NPU), GPU, central processing unit (CPU), microprocessor (MPU), digital signal processor (DSP) or field programmable gate array (FPGA), etc.

[0119] Figure 8 is a schematic diagram of the robot control device provided in an embodiment of this application. As shown in Figure 8, the robot control device 800 includes: an acquisition module 801 for acquiring sensing data from at least one sensor of the robot; a determination module 802 for determining, based on the sensing data from at least one sensor of the robot, that the robot is on a first operating surface and in a first state; and an adjustment module 803 for adjusting, when the first state deviates from a preset state range, at least one of the speed and direction of the robot's drive components to bring the robot within the preset state range, and controlling the robot to move to a second operating surface; wherein the first operating surface and the second operating surface have a height difference.

[0120] In some embodiments of the control device 800 described above, the first state further includes at least one of the robot's angle state and position state.

[0121] In some embodiments of the control device 800 described above, adjusting at least one of the speed and direction of the robot's drive component when the first state deviates from the preset state range includes: adjusting at least one of the speed and direction of the robot's drive component when the first state deviates from the preset state range, so that the angle between the robot's movement direction and the reference operating surface is within the preset state range, thereby enabling it to move towards the middle position of the second operating surface; wherein the reference operating surface includes the first operating surface or the second operating surface.

[0122] In some embodiments of the control device 800 described above, adjusting at least one of the speed and steering of the robot's drive component to make the angle between the robot's direction of movement and the reference operating surface within the preset state range includes: determining a target angle based on the first state; wherein the target angle is within the preset state range; and adjusting at least one of the speed and steering of the drive component based on the target angle to make the angle between the robot's direction of movement and the reference operating surface within the preset state range.

[0123] In some embodiments of the control device 800 described above, the angle state is further represented by a first included angle, which refers to the angle between the robot's direction of movement and the reference operating surface; determining the target included angle based on the first state includes: determining the deviation parameter of the robot relative to the intermediate position based on the position state; and determining the target included angle based on the deviation parameter and the first included angle.

[0124] In some embodiments of the control device 800 described above, determining the deviation parameter of the robot relative to the intermediate position based on the position state includes: determining a first distance between the robot and a first edge of the reference operating surface based on the position state; determining a second distance between the robot and a second edge of the reference operating surface based on the position state; wherein the first edge and the second edge are opposite each other; and determining the deviation parameter of the robot relative to the intermediate position based on the first distance and the second distance.

[0125] In some embodiments of the control device 800 described above, the deviation parameter includes the difference between the first distance and the second distance; the first angle refers to the angle between the robot's movement direction and the first direction, where the first direction refers to the direction from the second edge to the first edge; determining the target angle based on the deviation parameter and the first angle includes: determining the target angle based on the difference and the relationship between the first angle and a first angle threshold; wherein, when the first distance is less than the second distance, the target angle is greater than the first angle threshold and less than the second angle threshold, and the size of the target angle is positively correlated with the deviation parameter; or, when the first distance is greater than the second distance, the target angle is greater than a third angle threshold and less than the first angle threshold, and the size of the target angle is negatively correlated with the deviation parameter.

[0126] In some embodiments of the control device 800 described above, determining the first included angle based on sensing data from at least one sensor of the robot includes: determining a first side of the second operating surface based on point cloud data collected by the robot's TOF module and / or image data collected by the robot's camera module; determining a first direction based on the first side; and determining a first included angle between the robot's movement direction on the first operating surface and the first direction.

[0127] In some embodiments of the control device 800 described above, the determining module 802 is further configured to: determine whether the first state deviates from the preset state range when the robot moves from the third operating surface to the first operating surface; wherein the third operating surface, the first operating surface, and the second operating surface have a height difference.

[0128] The descriptions of the above device embodiments are similar to those of the above method embodiments, and have similar beneficial effects. For technical details not disclosed in the device embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.

[0129] It should be noted that the module division in the embodiments of this application is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods. Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, exist as separate physical units, or have two or more units integrated into one unit. The integrated units can be implemented in hardware, as software functional units, or a combination of software and hardware.

[0130] It should be noted that, in the embodiments of this application, if the above-described methods are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiments of this application, or the part that contributes to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause the robot to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), magnetic disks, or optical disks. Thus, the embodiments of this application are not limited to any specific hardware and software combination.

[0131] This application provides a robot. Figure 9 is a structural schematic diagram of the robot provided in this application embodiment. As shown in Figure 9, the robot 900 includes: a main body 901; at least one sensor 902 connected to the main body 901; a drive component 903 connected to the main body 901; and a processor 904 for acquiring sensing data from the at least one sensor 902. The processor 904 is configured to: determine, based on the sensing data, that the main body 901 is on a first operating surface and in a first state; when the first state deviates from a preset state range, adjust at least one of the speed and direction of the drive component 903 to bring the main body 901 within the preset state range; and control the movement of the main body 901 to a second operating surface, wherein the first operating surface and the second operating surface have a height difference.

[0132] In some embodiments of the robot 900 described above, the first state further includes at least one of the angle state and the position state of the main body 901. It should be noted that the angle state and position state of the main body 901 can be understood with reference to the angle state and position state of the robot mentioned above.

[0133] In some embodiments of the robot 900 described above, adjusting at least one of the speed and direction of the drive component 903 of the robot 900 when the first state deviates from the preset state range includes: adjusting at least one of the speed and direction of the drive component 903 of the robot 900 when the first state deviates from the preset state range, so that the angle between the moving direction of the main body 901 (i.e., the robot 900) and the reference operating surface is within the preset state range, thereby enabling it to move towards the middle position of the second operating surface; wherein the reference operating surface includes the first operating surface or the second operating surface.

[0134] In some embodiments of the robot 900 described above, adjusting at least one of the speed and direction of the drive component 903 of the robot 900 so that the angle between the moving direction of the main body 901 (i.e., the robot 900) and the reference operating surface is within the preset state range includes: determining a target angle based on the first state; wherein the target angle is within the preset state range; and adjusting at least one of the speed and direction of the drive component 903 based on the target angle so that the angle between the moving direction of the main body 901 (i.e., the robot 900) and the reference operating surface is within the preset state range.

[0135] In some embodiments of the robot 900 described above, the angle state is further represented by a first included angle, which refers to the angle between the moving direction of the main body 901 (i.e., the robot 900) and the reference operating surface; determining the target included angle based on the first state includes: determining the deviation parameter of the main body 901 (i.e., the robot 900) relative to the intermediate position based on the position state; and determining the target included angle based on the deviation parameter and the first included angle.

[0136] In some embodiments of the robot 900 described above, determining the deviation parameter of the main body 901 (i.e., the robot 900) relative to the intermediate position based on the position state includes: determining a first distance between the main body 901 (i.e., the robot 900) and a first edge of the reference operating surface based on the position state; determining a second distance between the main body 901 (i.e., the robot 900) and a second edge of the reference operating surface based on the position state; wherein the first edge and the second edge are opposite each other; and determining the deviation parameter of the main body 901 (i.e., the robot 900) relative to the intermediate position based on the first distance and the second distance.

[0137] In some embodiments of the robot 900 described above, the deviation parameter includes the difference between the first distance and the second distance; the first angle refers to the angle between the movement direction of the main body 901 (i.e., the robot 900) and the first direction, where the first direction refers to the direction from the second edge to the first edge; determining the target angle based on the deviation parameter and the first angle includes: determining the target angle based on the difference and the relationship between the first angle and a first angle threshold; wherein, when the first distance is less than the second distance, the target angle is greater than the first angle threshold and less than the second angle threshold, and the size of the target angle is positively correlated with the deviation parameter; or, when the first distance is greater than the second distance, the target angle is greater than a third angle threshold and less than the first angle threshold, and the size of the target angle is negatively correlated with the deviation parameter.

[0138] In some embodiments of the robot 900 described above, determining the first included angle based on sensing data from at least one sensor 902 of the robot 900 includes: determining a first side of the second operating surface based on point cloud data collected by the TOF module of the robot 900 and / or image data collected by the camera module of the robot 900; determining a first direction based on the first side; and determining a first included angle between the movement direction of the main body 901 (i.e., the robot 900) on the first operating surface and the first direction.

[0139] In some embodiments of the robot 900 described above, the processor 904 is further configured to: determine whether the first state deviates from the preset state range when the robot 900 moves from the third operating surface to the first operating surface; wherein the third operating surface, the first operating surface, and the second operating surface have a height difference.

[0140] In some embodiments, the robot 900 also includes a memory configured to store instructions and applications executable by the processor 904, and may also cache data to be processed or already processed (e.g., image data, point cloud data, etc.) in the processor 904 and various modules in the robot 900, which may be implemented by flash memory or random access memory (RAM).

[0141] This application provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the method provided in the above embodiments.

[0142] This application provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the steps in the method provided in the above-described method embodiments.

[0143] It should be noted that the descriptions of the robot, storage medium, and computer program product embodiments above are similar to the descriptions of the method embodiments above, and have similar beneficial effects. For technical details not disclosed in the robot, storage medium, and computer program product embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.

[0144] In this embodiment, based on sensing data from at least one sensor of the robot, it is determined whether the robot's first state on the first operating surface deviates from a preset state range. If it deviates from the preset state range, at least one of the speed and steering of the robot's drive components is adjusted, thereby enabling the robot to automatically adjust its direction of movement and move to the second operating surface within the preset state range. In other words, the robot control method provided in this embodiment does not require remote control or human intervention when the robot deviates from the preset state range (i.e., the safe state range). Instead, it autonomously and automatically adjusts its direction of movement, thereby safely and stably completing the movement from the first height / first operating surface to the second height / second operating surface.

[0145] It should be understood that the phrases "one embodiment," "an embodiment," or "some embodiments" mentioned throughout the specification mean that a specific feature, structure, or characteristic related to an embodiment is included in at least one embodiment of this application. Therefore, "in one embodiment," "in one embodiment," or "in some embodiments" appearing throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of this application, the sequence numbers of the above-described processes do not imply a sequential order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. The sequence numbers of the above-described embodiments are merely for descriptive purposes and do not represent the superiority or inferiority of the embodiments. The descriptions of the various embodiments above tend to emphasize the differences between the various embodiments; their similarities or commonalities can be referred to mutually, and for the sake of brevity, they will not be repeated here.

[0146] In this article, the term "and / or" is merely a description of the relationship between related objects, indicating that there can be three kinds of relationships. For example, object A and / or object B can represent three situations: object A exists alone, object A and object B exist simultaneously, and object B exists alone.

[0147] It should be noted that, in this document, 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. Unless otherwise specified, 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 that element.

[0148] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The embodiments described above are merely illustrative. For example, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple modules or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, and the indirect coupling or communication connection between devices or modules can be electrical, mechanical, or other forms.

[0149] The modules described above as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules. They may be located in one place or distributed across multiple network units. Some or all of the modules may be selected to achieve the purpose of this embodiment according to actual needs.

[0150] In addition, each functional module in the various embodiments of this application can be integrated into one processing unit, or each module can be a separate unit, or two or more modules can be integrated into one unit; the integrated modules can be implemented in hardware or in the form of hardware plus software functional units.

[0151] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, read-only memory (ROM), magnetic disks, or optical disks.

[0152] Alternatively, if the integrated units described above are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause the robot to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROMs, magnetic disks, or optical disks.

[0153] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.

[0154] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.

[0155] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method or device embodiments.

[0156] The above description is merely an embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for controlling a robot, characterized in that, The method includes: Acquire sensing data from at least one sensor of the robot; Based on the sensor data, it is determined that the robot is on the first operating surface and in a first state; and When the first state deviates from the preset state range, at least one of the speed and steering of the robot's drive component is adjusted to bring the robot into the preset state range, and the robot is controlled to move to the second operating surface; wherein the first operating surface and the second operating surface have a height difference.

2. The method according to claim 1, characterized in that, The first state includes at least one of the robot's angle state and position state.

3. The method according to claim 2, characterized in that, When the first state deviates from the preset state range, adjusting at least one of the speed and steering of the robot's drive component includes: When the first state deviates from the preset state range, at least one of the speed and steering of the robot's drive component is adjusted so that the angle between the robot's movement direction and the reference operating surface is within the preset state range, thereby enabling it to move towards the middle position of the second operating surface. The reference operating surface includes either the first operating surface or the second operating surface.

4. The method according to claim 3, characterized in that, Adjusting at least one of the speed and steering of the robot's drive component so that the angle between the robot's direction of movement and the reference operating surface is within the preset range includes: Based on the first state, a target angle is determined; wherein the target angle is within the range of the preset states; and Based on the target angle, at least one of the speed and steering of the drive component is adjusted so that the angle between the robot's direction of movement and the reference operating surface is within the preset range.

5. The method according to claim 4, characterized in that, The angle state is represented by a first included angle, which is the angle between the robot's direction of movement and the reference operating surface; Determining the target angle based on the first state includes: Based on the position state, determine the deviation parameter of the robot relative to the intermediate position; and The target angle is determined based on the deviation parameter and the first included angle.

6. The method according to claim 5, characterized in that, Determining the deviation parameter of the robot relative to the intermediate position based on the position state includes: Determine a first distance between the robot and the first edge of the reference operating surface based on the position state; A second distance is determined between the robot and the second edge of the reference operating surface based on the position state; wherein the first edge is opposite to the second edge; and Based on the first distance and the second distance, the deviation parameter of the robot relative to the intermediate position is determined.

7. The method according to claim 6, characterized in that, The deviation parameter includes the difference between the first distance and the second distance; the first angle refers to the angle between the robot's movement direction and the first direction, and the first direction refers to the direction from the second edge to the first edge; Determining the target angle based on the deviation parameter and the first included angle includes: The target angle is determined based on the difference and the relationship between the first included angle and the first angle threshold; wherein, When the first distance is less than the second distance, the target angle is greater than the first angle threshold and less than the second angle threshold, and the size of the target angle is positively correlated with the deviation parameter; or... When the first distance is greater than the second distance, the target angle is greater than the third angle threshold and less than the first angle threshold, and the size of the target angle is negatively correlated with the deviation parameter.

8. The method according to claim 5, characterized in that, Determining the first included angle based on sensing data from at least one sensor of the robot includes: The first side of the second operating surface is determined based on the point cloud data collected by the robot's TOF module and / or the image data collected by the robot's camera module. Based on the first side, determine the first direction; and Determine the first angle between the robot's movement direction on the first operating surface and the first direction.

9. The method according to any one of claims 1 to 8, characterized in that, The method further includes: When the robot moves from the third operating surface to the first operating surface, it is determined whether the first state of the robot on the first operating surface deviates from the preset state range; wherein the third operating surface, the first operating surface, and the second operating surface have a height difference.

10. A control device for a robot, characterized in that, The device includes: The acquisition module acquires sensing data from at least one sensor of the robot; The module determines, based on the sensor data, that the robot is on the first operating surface and in a first state; and The adjustment module adjusts at least one of the speed and steering of the robot's drive components when the first state deviates from the preset state range, so that the robot is within the preset state range, and controls the robot to move to the second operating surface; wherein the first operating surface and the second operating surface have a height difference.

11. The apparatus according to claim 10, characterized in that, The first state includes at least one of the robot's angle state and position state.

12. The apparatus according to claim 11, characterized in that, When the first state deviates from the preset state range, adjusting at least one of the speed and steering of the robot's drive component includes: When the first state deviates from the preset state range, at least one of the speed and steering of the robot's drive component is adjusted so that the angle between the robot's movement direction and the reference operating surface is within the preset state range, thereby enabling it to move towards the middle position of the second operating surface. The reference operating surface includes either the first operating surface or the second operating surface.

13. The apparatus according to claim 12, characterized in that, Adjusting at least one of the speed and steering of the robot's drive component so that the angle between the robot's direction of movement and the reference operating surface is within the preset range includes: Based on the first state, a target angle is determined; wherein the target angle is within the range of the preset states; and Based on the target angle, at least one of the speed and steering of the drive component is adjusted so that the angle between the robot's direction of movement and the reference operating surface is within the preset range.

14. The apparatus according to claim 13, characterized in that, The angle state is represented by a first included angle, which is the angle between the robot's direction of movement and the reference operating surface; Determining the target angle based on the first state includes: Based on the position state, determine the deviation parameter of the robot relative to the intermediate position; and The target angle is determined based on the deviation parameter and the first included angle.

15. The apparatus according to claim 14, characterized in that, Determining the deviation parameter of the robot relative to the intermediate position based on the position state includes: Determine a first distance between the robot and the first edge of the reference operating surface based on the position state; A second distance is determined between the robot and the second edge of the reference operating surface based on the position state; wherein the first edge is opposite to the second edge; and Based on the first distance and the second distance, the deviation parameter of the robot relative to the intermediate position is determined.

16. The apparatus according to claim 15, characterized in that, The deviation parameter includes the difference between the first distance and the second distance; the first angle refers to the angle between the robot's movement direction and the first direction, and the first direction refers to the direction from the second edge to the first edge; Determining the target angle based on the deviation parameter and the first included angle includes: The target angle is determined based on the difference and the relationship between the first included angle and the first angle threshold; wherein, When the first distance is less than the second distance, the target angle is greater than the first angle threshold and less than the second angle threshold, and the size of the target angle is positively correlated with the deviation parameter; or... When the first distance is greater than the second distance, the target angle is greater than the third angle threshold and less than the first angle threshold, and the size of the target angle is negatively correlated with the deviation parameter.

17. The apparatus according to claim 14, characterized in that, Determining the first included angle based on sensing data from at least one sensor of the robot includes: The first side of the second operating surface is determined based on the point cloud data collected by the robot's TOF module and / or the image data collected by the robot's camera module. Based on the first side, determine the first direction; and Determine the first angle between the robot's movement direction on the first operating surface and the first direction.

18. The apparatus according to any one of claims 11 to 17, characterized in that, The determining module is configured as follows: When the robot moves from the third operating surface to the first operating surface, it is determined whether the first state deviates from the preset state range; wherein the third operating surface, the first operating surface, and the second operating surface have a height difference.

19. A robot, characterized in that, The robot includes: Main body of the fuselage; At least one sensor is connected to the main body of the fuselage; Drive components, connected to the main body of the fuselage; and A processor, configured to acquire sensing data from the at least one sensor, wherein the processor is configured to: Based on the sensor data, it is determined that the main body of the fuselage is on the first operating surface and in a first state. When the first state deviates from the preset state range, at least one of the speed and steering of the drive component is adjusted to bring the fuselage body within the preset state range. The main body of the machine is moved to a second operating surface, wherein the second operating surface has a height difference from the first operating surface.

20. The robot according to claim 19, characterized in that, The first state includes at least one of the angle state and the position state of the fuselage body.

21. The robot according to claim 20, characterized in that, When the first state deviates from the preset state range, adjusting at least one of the speed and steering of the robot's drive component includes: When the first state deviates from the preset state range, at least one of the speed and steering of the robot's drive component is adjusted so that the angle between the movement direction of the main body and the reference operating surface is within the preset state range, thereby enabling it to move towards the middle position of the second operating surface. The reference operating surface includes either the first operating surface or the second operating surface.

22. The robot according to claim 21, characterized in that, Adjusting at least one of the speed and steering of the robot's drive component so that the angle between the movement direction of the main body and the reference operating surface is within the preset range includes: Based on the first state, a target angle is determined; wherein the target angle is within the range of the preset states; and Based on the target angle, at least one of the speed and steering of the drive component is adjusted so that the angle between the moving direction of the main body and the reference operating surface is within the preset range.

23. The robot according to claim 22, characterized in that, The angle state is represented by a first included angle, which is the angle between the moving direction of the main body of the fuselage and the reference operating surface; Determining the target angle based on the first state includes: Based on the positional state, determine the deviation parameter of the fuselage body relative to the intermediate position; and The target angle is determined based on the deviation parameter and the first included angle.

24. The robot according to claim 23, characterized in that, Determining the deviation parameter of the fuselage body relative to the intermediate position based on the position state includes: Determine the first distance between the fuselage body and the first edge of the reference operating surface based on the position state; A second distance is determined between the fuselage body and the second edge of the reference operating surface based on the positional state; wherein the first edge is opposite to the second edge; and Based on the first distance and the second distance, the deviation parameter of the fuselage body relative to the intermediate position is determined.

25. The robot according to claim 24, characterized in that, The deviation parameter includes the difference between the first distance and the second distance; the first angle refers to the angle between the moving direction of the fuselage body and the first direction, and the first direction refers to the direction from the second edge to the first edge; Determining the target angle based on the deviation parameter and the first included angle includes: The target angle is determined based on the difference and the relationship between the first included angle and the first angle threshold; wherein, When the first distance is less than the second distance, the target angle is greater than the first angle threshold and less than the second angle threshold, and the size of the target angle is positively correlated with the deviation parameter; or... When the first distance is greater than the second distance, the target angle is greater than the third angle threshold and less than the first angle threshold, and the size of the target angle is negatively correlated with the deviation parameter.

26. The robot according to claim 23, characterized in that, Determining the first included angle based on sensing data from at least one sensor of the robot includes: The first side of the second operating surface is determined based on the point cloud data collected by the robot's TOF module and / or the image data collected by the robot's camera module. Based on the first side, determine the first direction; and Determine the first angle between the movement direction of the main body of the fuselage on the first operating surface and the first direction.

27. The robot according to any one of claims 20 to 26, characterized in that, The processor is configured to: When the robot moves from the third operating surface to the first operating surface, it is determined whether the first state deviates from the preset state range; wherein the third operating surface, the first operating surface, and the second operating surface have a height difference.

28. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 9.

29. A computer program product comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by a processor, they implement the method as described in any one of claims 1 to 9.