Robot control method and device, robot
Patent Information
- Application Number
- CN202510148826.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-10
- Publication Date
- 2026-08-11
AI Technical Summary
[0014]第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时,实现本申请实施例提供的所述的方法。
Smart Images

Figure CN122539335A_ABST
Abstract
Description
Technical Field
[0001] This application relates to intelligent control technology, including but not limited to control methods and devices for robots, and robots themselves. Background Technology
[0002] 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
[0003] The robot control method and apparatus, and the robot provided in this application, wherein:
[0004] 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.
[0005] 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.
[0006] Thirdly, embodiments of this application provide a robot, which includes: a main body;
[0007] At least one sensor is connected to the main body of the fuselage;
[0008] Drive components, connected to the main body of the fuselage; and
[0009] The processor acquires sensing data from the at least one sensor, wherein the processor:
[0010] 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.
[0011] 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.
[0012] 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.
[0013] 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.
[0014] 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.
[0015] 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.
[0016] 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
[0017] 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.
[0018] 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.
[0019] Figure 1 This is a schematic diagram of the implementation flow of the robot control method provided in the embodiments of this application. Figure 1 ;
[0020] Figure 2 This is a front view of the robot climbing a building scenario provided in the embodiments of this application;
[0021] Figure 3 This is a schematic diagram illustrating a further implementation of step 102 provided in an embodiment of this application;
[0022] Figure 4 This is a schematic diagram illustrating a further implementation of step 301 provided in an embodiment of this application;
[0023] Figure 5 This is a schematic diagram of the tangent angle provided in the embodiments of this application;
[0024] Figure 6 This is a schematic diagram of a robot climbing stairs according to an embodiment of this application;
[0025] Figure 7 This is a schematic diagram of the implementation flow of the robot control method provided in the embodiments of this application. Figure 2 ;
[0026] Figure 8 This is a schematic diagram of the structure of the robot control device provided in the embodiments of this application;
[0027] Figure 9 This is a schematic diagram of the robot provided in the embodiments of this application. Detailed Implementation
[0028] 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.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] Figure 1 This is a schematic diagram of the implementation flow of the robot control method provided in the embodiments of this application. Figure 1 ,like Figure 1 As shown, the method may include the following steps 101 to 103:
[0034] Step 101: Acquire sensing data from at least one sensor of the robot;
[0035] Step 102: Based on the sensing data from at least one of the robot's sensors, determine that the robot is on the first operating surface and in a first state;
[0036] 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.
[0037] 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 thus 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.
[0038] The following sections will describe further optional implementation methods for the above steps, as well as related terms.
[0039] 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.
[0040] 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. For example, the at least one sensor includes one or more of a TOF module, a camera module, an accelerometer, and a gyroscope.
[0041] 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.
[0042] For example, 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.
[0043] 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.
[0044] In one possible implementation, the x-axis direction of the robot's body coordinate system can be used as the robot's movement direction 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. For example, Figure 2 This is a front view of the robot climbing a building scenario provided in the embodiments of this application; as shown... Figure 2 As shown, taking robot 20 climbing a building as an example, the first included angle refers to... Figure 2 The theta angle is shown, where the y-direction is parallel to the first seam line 201 between the second operating surface and the kicking 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 towards the first edge 203.
[0045] 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.
[0046] 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.
[0047] 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.
[0048] 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.
[0049] 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.
[0050] In one possible 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.
[0051] 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; for example, the operating surface can be the tread of a staircase or step, the ground, or a tabletop, etc. The operations that the robot can perform can be, for example, moving upward (i.e., walking upward) or moving downward (i.e., walking downward), etc.
[0052] 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.
[0053] 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.
[0054] In this embodiment, the method for adjusting the robot's movement direction is not limited. The movement direction can be adjusted by changing at least one of the robot's drive component's speed and steering. In other words, the implementation schemes for adjusting the robot's movement direction include the following three schemes:
[0055] Option 1: Adjust the robot's direction of movement by adjusting the speed of its drive components. For example, 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.
[0056] Option 2: Adjust the robot's direction of movement by adjusting the steering of its drive components; for example, if the robot's drive components include servo motors (such as the front wheel steering mechanism in a four-wheel drive robot), then the direction of movement can be adjusted by controlling the angle of the servo motors to change the steering of the front wheels.
[0057] Option 3: Adjusting the robot's direction of movement by modifying the speed and steering of its drive components. For example, if the robot's drive components include omnidirectional wheels, movement in any direction can be achieved by independently controlling the steering and speed of these wheels, without relying on differentials or servos. Alternatively, if the robot's drive components include left and right wheels, adjusting the speed difference between the left and right wheels, as well as the steering of at least one wheel, can generate different motion trajectories, thereby adjusting the direction of movement.
[0058] In this application embodiment, there are no restrictions on the further implementation of step 103. In some embodiments, it 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 to the middle position of the second operating surface; wherein, the reference operating surface includes the first operating surface or the second operating surface.
[0059] Furthermore, 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. For example, a first target speed corresponding to the first state can be determined based on a pre-calibrated mapping relationship between the robot's state and speed; and the current speed of the drive component can be adjusted to the first target speed. As another example, a first target steering corresponding to the first state can be determined based on a pre-calibrated mapping relationship between the robot's state and steering; and the current steering of the drive component can be adjusted to the first target steering. Yet another example is that a first target speed corresponding to the first state can be determined based on a pre-calibrated mapping relationship between the robot's state and speed; a first target steering corresponding to the first state can be determined based on a pre-calibrated mapping relationship between the robot's state and steering; and the current speed and steering of the drive component can be adjusted to the first target speed and the first target steering, respectively.
[0060] The first target speed corresponding to the first state may include the speed of one component or the speed of multiple components. For example, the first target speed may include the target speeds of the left wheel and the right wheel, which may be the same or different.
[0061] Furthermore, in other embodiments, such as Figure 3As shown, 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 may include the following steps 301 and 302:
[0062] Step 301: Determine the target angle based on the first state; wherein the target angle is within the preset state range.
[0063] 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.
[0064] In some embodiments, such as Figure 4 As shown, step 301 may include the following steps 401 and 402:
[0065] Step 401: Determine the deviation parameter of the robot's midpoint position relative to the reference operating surface based on the position state.
[0066] 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. For example, the deviation parameter includes the difference between the first distance and the second distance.
[0067] In this design, the first edge is opposite to the second edge, and the first and second edges are the left and right edges of the robot. For example... Figure 2 As shown, 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.
[0068] In one possible implementation, determining the first distance and the second distance includes: identifying a 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.
[0069] 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.
[0070] Step 402: Determine the target angle based on the deviation parameter and the first included angle.
[0071] 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.
[0072] For schemes where the deviation parameter includes the difference between the first distance and the second distance, exemplarily, 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 included angle and the first angle threshold; wherein, the first included 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,
[0073] 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. For example, the larger the difference between the first distance and the second distance, the closer the robot is to the first edge and the greater the degree of deviation from the middle position. In this case, the target angle can be set closer to the second 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 middle 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 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.
[0074] 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 distance parameter. For example, the larger the difference between the first and second distances, the closer the robot is to the second edge and the greater its deviation from the middle position. In this case, the target angle can be set closer to the third angle threshold. Conversely, the smaller the difference between the first and second distances, the smaller the deviation of the robot from the middle position. In this case, the target angle can be set closer to the first angle threshold. This makes the determined target angle more reasonable, allowing the robot to adjust at least one of the speed and steering in the drive zone more appropriately based on the target angle, thereby reducing the possibility of the robot tipping over or deviating from the middle position and towards the first edge due to over-adjustment of the movement direction.
[0075] 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.
[0076] 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.
[0077] 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. For example, the first angle threshold can be set to be greater than or equal to the tangent angle, which refers to the angle between the tangent of the arc formed by connecting the midpoint of the second tread and the midpoints of the upper and lower treads and the first direction. For example, if the height of the first tread is lower than the height of the second tread... Figure 5As shown, tangent angle 501 is the angle between tangent 502 (direction upward) and the first direction 503; for ease of understanding, the rotation of the staircase is represented by dashed lines. It should be noted that the first tread can be understood as an example of the first operating surface, and the second tread can be understood as an example of the second operating surface.
[0078] It should be noted that the above method for determining the target angle is applicable not only to scenarios where the height of the first operating surface is lower than that of the second operating surface, such as when the robot is climbing stairs, slopes, or other upward-climbing scenarios; but also to scenarios where the height of the first operating surface is higher than that of the second operating surface, such as when the robot is going downstairs, down a slope, or other downward-moving scenarios.
[0079] Figure 6 This is a schematic diagram of a robot climbing stairs according to an embodiment of this application; as shown Figure 6 As shown, the possible first states of robot 60 on the first tread are state A, state B, state C, state D, or state E; where,
[0080] State A: theta < 90°, l_len <r_len;
[0081] State B: theta > 90°, l_len <r_len;
[0082] C state: theta≈90°, l_len≈r_len;
[0083] D state: theta > 90°, l_len > r_len;
[0084] E state: theta < 90°, l_len > r_len;
[0085] 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 as follows: Figure 2 As shown.
[0086] For states A through E described above, the possible control schemes for the robot are as follows:
[0087] 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. For example, the larger the difference between l_len and r_len, the closer the adjusted theta will be to (90° + phi); if the difference is smaller, the adjusted theta will be closer to 90°. Here, (90° + phi) is an example of a second angle threshold, and 90° is an example of a first angle threshold.
[0088] For state C: The robot maintains its current state / posture and continues walking.
[0089] 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. For example, the larger the difference between l_len and r_len, the closer the adjusted theta will be to phi; if the difference is smaller, the adjusted theta will be closer to 90°. Here, phi is an example of a third angle threshold, and 90° is an example of a first angle threshold.
[0090] 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.
[0091] In one possible 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 possible 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 possible 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.
[0092] 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.
[0093] 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.
[0094] 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.
[0095] 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 possible 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.
[0096] The robot control method described in one or more of the above embodiments can be applied to a variety of scenarios of climbing up or walking down, such as the robot going up or down stairs, climbing onto low platforms (such as low balconies or tatami mats), and walking down from low platforms.
[0097] The following example, using a robot climbing a building, illustrates possible implementation schemes for the robot control method described in one or more of the above embodiments.
[0098] 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.
[0099] In most related technologies, the stair-climbing machine's ascent is accomplished through remote control. Because it requires human intervention, it is not intelligent.
[0100] Based on this, embodiments of this application provide 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 speeds of the left and right wheels of the stair climber are 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... Figure 7 As shown, in this method, the stair climber uses sensors such as TOF and camera (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 staircase (i.e., an example of the first included angle) and the stair lengths on both sides of the stair climber (i.e., an example of the first distance and the second distance) are obtained; based on the angle and the stair lengths on both sides of the stair climber, the movement of the two wheels is controlled, thereby adjusting towards the middle of the staircase.
[0101] The following describes the possible implementation methods for the angle of the multi-step staircase, the length of the staircases on both sides of the stair climber, and the control of the two-wheel movement.
[0102] 1. Angle calculation for multi-step staircases
[0103] Sensors typically see more than one step within their field of view. The angle of each visible step can be calculated, and pre-calculating more stair angles allows for better planning and control. The angle calculation method for each step is as follows:
[0104] In one possible implementation, given the extrinsic and intrinsic parameters of the Time-of-Flight (TOF) module installed on the stair-climbing machine, the stair plane (the treads or elevations) is located using TOF point cloud data. The plane's normal vector is then fitted. The direction of the staircase is determined from the normal vector, thus enabling the calculation of... Figure 2 The angle theta between the x and y directions in the equation.
[0105] In another possible 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.
[0106] 2. The length of the stairs on both sides of the stair climber
[0107] 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.
[0108] 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.
[0109] 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.
[0110] 3. Controlling actions
[0111] 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.
[0112] 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°)
[0113] Figure 6 This is a schematic diagram of a robot climbing a building, as provided in the embodiments of this application; Figure 6 As shown, the possible first states of robot 60 on the first tread are state A, state B, state C, state D, or state E; where,
[0114] State A: theta < 90°, l_len <r_len;
[0115] State B: theta > 90°, l_len <r_len;
[0116] C state: theta≈90°, l_len≈r_len;
[0117] D state: theta > 90°, l_len > r_len;
[0118] E state: theta < 90°, l_len > r_len;
[0119] 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 as follows: Figure 2 As shown.
[0120] For states A through E described above, the possible control schemes for the robot are as follows:
[0121] 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. For example, the larger the difference between l_len and r_len, the closer the adjusted theta will be to (90° + phi); if the difference is smaller, the adjusted theta will be closer to 90°. Here, (90° + phi) is an example of a second angle threshold, and 90° is an example of a first angle threshold.
[0122] For state C: The robot maintains its current state / posture and continues walking.
[0123] 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. For example, the larger the difference between l_len and r_len, the closer the adjusted theta will be to phi; if the difference is smaller, the adjusted theta will be closer to 90°. Here, phi is an example of a third angle threshold, and 90° is an example of a first angle threshold.
[0124] 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.
[0125] 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.
[0126] Figure 8 This is a schematic diagram of the structure of the robot control device provided in the embodiments of this application, as shown below. Figure 8 As shown, the robot's control device 800 includes:
[0127] The acquisition module 801 acquires sensing data from at least one sensor of the robot;
[0128] The determination module 802 determines, based on sensing data from at least one of the robot's sensors, that the robot is on the first operating surface and in a first state.
[0129] The adjustment module 803 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.
[0130] 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.
[0131] 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.
[0132] 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.
[0133] 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.
[0134] 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.
[0135] 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 distance parameter.
[0136] 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.
[0137] In some embodiments of the control device 800 described above, the determining module 802 determines 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.
[0138] 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.
[0139] 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.
[0140] 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.
[0141] This application provides a robot. Figure 9 This is a schematic diagram of the robot structure provided in the embodiments of this application, such as... Figure 9 As shown, robot 900 includes:
[0142] fuselage body 901;
[0143] At least one sensor 902 is connected to the main body 901;
[0144] Drive component 903 is connected to the main body 901;
[0145] Processor 904 acquires sensing data from at least one sensor 902; wherein, processor 904:
[0146] Based on the sensor data, it is determined that the main body 901 is on the first operating surface and in the first state;
[0147] When the first state deviates from the preset state range, at least one of the speed and direction of the drive component 903 is adjusted to bring the fuselage body 901 within the preset state range.
[0148] Control the moving main body 901 to the second operating surface, wherein the first operating surface and the second operating surface have a height difference.
[0149] 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.
[0150] 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.
[0151] 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.
[0152] 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.
[0153] 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.
[0154] 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 distance parameter.
[0155] 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.
[0156] In some embodiments of the robot 900 described above, the processor 904 further determines 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.
[0157] 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).
[0158] 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.
[0159] 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.
[0160] 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.
[0161] 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.
[0162] 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.
[0163] 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.
[0164] 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.
[0165] 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.
[0166] 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.
[0167] 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.
[0168] 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.
[0169] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0170] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0171] 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.
[0172] 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; 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 of claim 1, wherein, The first state includes at least one of the robot's angle state and position state.
3. The method of claim 2, wherein, 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 of claim 3, wherein, 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, the target angle is determined; wherein the target angle is within the range of the preset state. 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 of claim 4, wherein, 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; The target angle is determined based on the deviation parameter and the first included angle.
6. The method of claim 5, wherein, 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 between the robot and the second edge of the reference operating surface is determined based on the position state; wherein the first edge is opposite to the second edge; 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 of claim 6, wherein, 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 distance parameter.
8. The method of claim 5, wherein, 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. Determine the first direction based on the first side; 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 of a robot characterized by comprising: The device includes: The acquisition module acquires sensing data from at least one sensor of the robot; The determination module determines, based on the sensor data, that the robot is on the first operating surface and in a first state; 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 of claim 10, wherein, The first state includes at least one of the robot's angle state and position state.
12. The apparatus of claim 11, wherein, 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 of claim 12, wherein, 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, the target angle is determined; wherein the target angle is within the range of the preset state. 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 of claim 13, wherein, 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; The target angle is determined based on the deviation parameter and the first included angle.
15. The apparatus of claim 14, wherein, 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 between the robot and the second edge of the reference operating surface is determined based on the position state; wherein the first edge is opposite to the second edge; 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 of claim 15, wherein, 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 distance 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. Determine the first direction based on the first side; Determine the first angle between the robot's movement direction on the first operating surface and the first direction.
18. The apparatus of any one of claims 11 to 17, wherein, The determining module: 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 The processor acquires sensing data from the at least one sensor, wherein the processor: 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 of claim 19, wherein, The first state includes at least one of the angle state and the position state of the fuselage body.
21. The robot of claim 20, wherein, 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 of claim 21, wherein, 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, the target angle is determined; wherein the target angle is within the range of the preset state. 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 of claim 22, wherein, 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; The target angle is determined based on the deviation parameter and the first included angle.
24. The robot of claim 23, wherein, 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; The second distance between the fuselage body and the second edge of the reference operating surface is determined based on the position state; wherein the first edge is opposite to the second edge; 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 of claim 24, wherein, 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 distance parameter.
26. The robot of claim 23, wherein, 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. Determine the first direction based on the first side; 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 of claims 20 to 26, characterized by The processor: 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 stored thereon a computer program, 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 computer programs 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.