Jumping control method of robot and robot
By setting a spring at the tail of the robot and combining it with a control strategy, the robot is able to cross steps, solving the problem that service robots cannot cope with vertical height differences, expanding the usage scenarios and reducing modification costs.
Patent Information
- Application Number
- CN202510869530.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-26
- Publication Date
- 2025-09-23
AI Technical Summary
Existing service robots are unable to effectively cope with environmental structures with vertical height differences, resulting in limited usage scenarios.
A spring is set at the tail of the robot, and the controller determines the step to be jumped. The target value is calculated using the robot's take-off angle, length, mass, spring stiffness and compression length, and step height. The robot is controlled to lean back to compress the spring and release it at a specific angle to jump.
The robot can now cross stairs, breaking through the limitations of planar movement and expanding its usage scenarios, such as cross-floor whole-house monitoring. It also has a simple structure and low cost, making it suitable for miniaturized household robots.
Smart Images

Figure CN120686853A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of robot control, in particular to a robot jumping control method and the robot. Background Art
[0002] In recent years, with the rapid development of technology, service robots have gradually entered the consumer market. Generally speaking, service robots have functions such as whole-house patrol, environmental monitoring, and intelligent interaction. Service robots have gradually become an important part of smart home systems.
[0003] However, the study found that with the diversification of decoration design, the movement of service robots has been restricted. For example, more and more houses now have stairs or step structures in their decoration design, but the movement of current service robots is limited to flat space and cannot effectively cope with structures with vertical height differences in the environment, which in turn limits the use scenarios of service robots. Summary of the Invention
[0004] In order to solve the above-mentioned problems in the prior art, the present invention provides a robot jumping control method and a robot.
[0005] In the first aspect, the present application provides a robot jumping control method, which is applied to a controller in the robot, and a spring is set at the tail of the robot. The method includes: determining a step to be jumped; controlling the robot to move so that the distance between the robot and the step to be jumped is a target value; wherein the target value is determined by the take-off and launch angle, length and mass of the robot, the spring coefficient and compression length of the spring, and the height of the step to be jumped; controlling the robot to lean back to compress the spring, and releasing the spring to jump when the angle between the tail of the robot and the horizon reaches the take-off and launch angle of the robot.
[0006] Optionally, the target value is any value within a preset range of a set value; the calculation formula of the set value is: ;in, represents the set value, C is a constant, ; k represents the spring constant, m represents the mass of the robot, x represents the compressed length of the spring; α represents the take-off angle of the robot; t represents the time it takes for the robot to jump onto the step, and the formula corresponding to t is: ; h represents the height of the step to be jumped; g represents the acceleration of gravity; L represents the length from the front end to the tail of the robot.
[0007] Optionally, the robot further includes a first distance sensor and a second distance sensor; the first distance sensor and the second distance sensor are symmetrically distributed on the robot; controlling the robot to move so that the distance between the robot and the step to be jumped is a target value, including: controlling the robot to move so that the difference between the distance value detected by the first distance sensor and the distance value detected by the second distance sensor is less than a preset value; wherein, the distance value detected by the first distance sensor is the distance between the first distance sensor and the step to be jumped, and the distance value detected by the second distance sensor is the distance between the second distance sensor and the step to be jumped, and the difference between the distance value detected by the first distance sensor and the distance value detected by the second distance sensor is less than the preset value, indicating that the robot is heading towards the step to be jumped, and the robot is parallel to the step to be jumped; controlling the robot to continue moving toward the step to be jumped so that the distance value detected by the first distance sensor is the target value, or so that the distance value detected by the second distance sensor is the target value.
[0008] Optionally, before determining the step to be jumped, the method further includes: receiving a stair morphology diagram marked by a user; wherein the stair morphology diagram represents the stair morphology information in the robot's current environment; the stair morphology diagram includes a straight area and / or a corner area, and the stair morphology diagram also includes the direction of going up the stairs; the straight area includes at least one step, and the corner area includes at least one step; based on the stair morphology diagram, determining the number of jumping steps in the straight area and / or the number of jumping steps in the corner area.
[0009] Optionally, when the step to be jumped is a step in a corner area, the method further includes: determining the rotation direction and rotation angle of the robot based on the upward direction of the stairs and the number of steps in the corner area; and controlling the robot to rotate based on the rotation direction and rotation angle of the robot.
[0010] Optionally, when the robot is located at the junction of the straight area and the corner area, the step to be jumped is a corner step, and the method further includes: determining the jumping arrival area of the robot based on the shape of the corner step; and moving the robot laterally according to the jumping arrival area of the robot; wherein the lateral movement direction of the robot is toward the jumping arrival area of the robot.
[0011] Optionally, when the robot is located in the straight-ahead area, the method further includes: controlling the robot to move laterally on a current step in the straight-ahead area so that the distance between the robot and the edge of the current step is greater than a preset safety distance value.
[0012] Optionally, controlling the robot to lean back to compress the spring, and releasing the spring to jump when the angle between the tail of the robot and the horizon reaches the take-off and launch angle of the robot, includes: controlling the motor inside the robot to rotate to drive the gear to rotate; wherein the rotation of the gear drives the rack to move in a straight line, causing the robot to lean back to compress the spring; when the angle between the tail of the robot and the horizon reaches the take-off and launch angle of the robot, controlling the motor inside the robot to disengage the gear from the rack, releasing the spring, so that the robot jumps.
[0013] Optionally, the robot also includes an image acquisition device. Before determining the step to be jumped, the method also includes: obtaining a scanned image of the current environment after the image acquisition device scans the current environment; based on the scanned image, determining the stair structure in the current environment; based on the stair structure, determining at least one step to be jumped.
[0014] In a second aspect, the present application provides a robot comprising: a robot body; a spring arranged at the tail of the robot body; and a controller arranged inside the robot body, wherein the controller is configured to execute the robot jumping control method as described in any one of the above-mentioned first aspects.
[0015] The beneficial effects of the present invention include: This application provides a robot jumping control method. First, the robot is designed with a spring at its tail. The robot jumping control strategy specifically includes first determining the step to be jumped. Then, based on the robot's take-off angle, the robot's length, the robot's mass, the spring constant of the spring provided at the robot's tail, the compressed length of the spring provided at the robot's tail, and the determined height of the step to be jumped, the robot is collectively determined to determine the distance between the robot and the step to be jumped (i.e., a target value d). The robot is then controlled to tilt backward to compress the spring. When the angle between the robot's tail and the horizon reaches the robot's take-off angle, the spring is released to jump, allowing the robot to complete the step jump and then jump from a first plane to a second plane. This method has the following advantages: First, it breaks through the limitation of traditional robots that can only move in a two-dimensional space and can achieve step jumping, thereby enabling the robot to be applied to more scenarios, such as cross-floor whole-house monitoring or covering more areas by crossing steps. Second, in terms of structure, it is only necessary to set a compressible spring at the tail of the robot and adopt the control logic provided in this application to realize the jumping of the robot. This method has low design or modification costs for the robot and a simple structure, which can be facilitated for market promotion and is especially suitable for miniaturized household robots. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 A flowchart of a robot jump control method provided by an embodiment of the present invention; Figure 2 A schematic diagram of the process of the jumping phase of a robot provided by an embodiment of the present invention; Figure 3 A schematic diagram of the process of the movement phase of a robot provided by an embodiment of the present invention; Figure 4 A flowchart of another robot jump control method provided by an embodiment of the present invention; Figure 5 A schematic diagram of a staircase shape template marked by a user provided in an embodiment of the present invention; Figure 6 A schematic diagram of a staircase morphology diagram provided by an embodiment of the present invention; Figure 7 A schematic diagram of another staircase morphology diagram provided by an embodiment of the present invention; Figure 8 A schematic diagram of another robot in the moving phase provided by an embodiment of the present invention; Figure 9 A schematic diagram of a moving phase of another robot provided by an embodiment of the present invention; Figure 10 A schematic diagram of the distance between a robot and an edge provided in an embodiment of the present invention; Figure 11 A schematic structural diagram of a robot provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0017] In the following description, specific details such as specific system structures and technologies are provided for illustration rather than limitation to facilitate a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid obstructing the description of the present application with unnecessary details.
[0018] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.
[0019] In the study of existing service robots, it was found that with the diversification of decoration design, the movement of service robots has been restricted. For example, more and more houses now have staircases or step structures in their decoration design. However, the movement of current service robots is limited to flat space and cannot effectively cope with structures with vertical height differences in the environment, which in turn limits the use scenarios of service robots.
[0020] In view of the above problems, the present application proposes the following embodiments to solve the above technical problems.
[0021] See also Figure 1 An embodiment of the present application provides a robot jumping control method, which is applied to a controller in the robot. In the structure of the robot provided in the embodiment of the present application, a spring is provided at the tail of the robot. The method specifically includes: steps 101 to 103.
[0022] Step 101: Determine the step to be jumped.
[0023] The step to be jumped can be a step in the stairs in the house; it can also be a step in some staggered-level designs in the house, such as the steps in the entrance hall, the steps at the junction between the balcony and the living room, the steps in some stepped classrooms, or the steps in some stands or exhibition stands.
[0024] Determining the step to be jumped here may refer to determining the direction or position of the step that the robot needs to jump onto, or may refer to determining the elevation height or step width of the step to be jumped.
[0025] Normally, according to the current design standards for steps on the market, the range of the vertical height of the steps is 20cm±10%; the range of the width of the steps is 25cm±10%.
[0026] Step 102: Control the robot to move so that the distance between the robot and the step to be jumped is the target value.
[0027] The target value is determined by the robot's take-off angle, length and mass, the spring constant and compression length, and the height of the step to be jumped.
[0028] That is, here the distance between the robot and the step to be jumped before taking off is determined based on the robot's take-off launch angle, the robot's length, the robot's mass, the spring coefficient of the spring set at the robot's tail, the compressed length of the spring set at the robot's tail, and the determined height of the step to be jumped. Then, the robot is controlled to move to the take-off position, that is, the robot is controlled to move to a position where the distance from the step to be jumped is the target value.
[0029] Step 103: Control the robot to lean back to compress the spring, and when the angle between the tail of the robot and the horizon reaches the robot's take-off angle, release the spring to jump.
[0030] After the robot reaches the take-off position, the robot is controlled to lean back to compress the spring at the tail, and when the angle between the tail of the robot and the horizon reaches the robot's take-off angle, the compressed spring is controlled to release, generating thrust, causing the robot to jump upward and jump onto the step to be jumped.
[0031] The following combination Figure 2 , a robot jumping control method provided in an embodiment of the present application is exemplarily described. First, after the robot determines the step to be jumped, the robot determines the distance between the robot and the step to be jumped (i.e., the target value d) when the robot takes off based on the robot's take-off launch angle, the robot's length, the robot's mass, the spring coefficient set at the robot's tail, the compressed length of the spring set at the robot's tail, and the determined height of the step to be jumped. Then, the robot is controlled to move until the distance between the robot and the step to be jumped reaches the target value d, and then stops moving. Next, the robot is controlled to lean back to compress the spring. Figure 2 In the example, the spring at the robot's tail is compressed as the robot leans back, causing the tail to shorten. During this backward movement, when the angle between the robot's tail and the horizon reaches the robot's take-off angle α, the spring is released, generating thrust that causes the robot to jump upward onto the step to be jumped.
[0032] Considering that the movement of current service robots is limited to a planar space and cannot effectively cope with structures with vertical height differences in the environment, which in turn limits the use scenarios of service robots, the embodiments of the present application provide a robot jumping control method to solve this problem. First, in the design of the robot, a spring is provided at its tail. The robot jumping control strategy specifically comprises first determining the step to be jumped, then determining the distance between the robot and the step to be jumped (i.e., the target value d) before the robot takes off based on the robot's take-off angle, the robot's length, the robot's mass, the spring coefficient of the spring provided at the robot's tail, the compressed length of the spring provided at the robot's tail, and the determined height of the step to be jumped. Then, the robot is controlled to lean back to compress the spring, and when the angle between the robot's tail and the horizon reaches the robot's take-off angle, the spring is released to jump, so that the robot completes the step jump and then jumps from the first plane to the second plane. The above approach offers the following advantages: First, it overcomes the limitation of traditional robots, which can only move in two-dimensional spaces, and enables stair jumping, thereby enabling the robot to be applied in a wider range of scenarios, such as enabling cross-floor whole-house monitoring or covering more areas by leaping over stairs. Second, structurally, the robot's jumping can be achieved by simply placing a compressible spring at the robot's tail and using the control logic provided in this application. This approach has low design or modification costs for the robot, a simple structure, and is easy to market and promote, making it particularly suitable for miniaturized household robots.
[0033] In one embodiment, the target value d can be a set value Any value within the preset range.
[0034] The above preset range can be 1±10%, or 1±15%, etc. For example, the target value d can be in the range of .
[0035] Among them, the setting value The calculation formula of the calculation process can be: ; In the above formula, Indicates the set value, C is a constant, ; k represents the spring constant, m represents the mass of the robot, x represents the compressed length of the spring; α represents the robot's take-off angle (not less than 70°); t represents the time it takes for the robot to jump onto the step, and the formula corresponding to t is: (t is the positive root corresponding to the formula); represents the acceleration due to gravity; h represents the height of the step to be jumped (usually 20 cm); L represents the length from the front end to the tail end of the robot.
[0036] Of course, in one embodiment, the calculation formula of the target value d can be: ; For the description of the parameters in the above formula, please refer to the explanation of the same parameters in the above embodiment, which will not be repeated here.
[0037] Optionally, a distance sensor is provided at the front end of the robot, so that the distance value between the robot and the step to be jumped can be measured in real time by the distance sensor of the robot. When it is determined that the distance value is equal to the target value, the robot is controlled to stop moving.
[0038] Optionally, the robot may be provided with two distance sensors, that is, the robot may specifically include a first distance sensor and a second distance sensor.
[0039] The first distance sensor and the second distance sensor are symmetrically distributed on the robot. For example, with the center of the robot as the symmetry line, the first distance sensor and the second distance sensor are arranged at opposite ends of the front of the robot.
[0040] Correspondingly, the above steps control the robot to move so that the distance between the robot and the step to be jumped is the target value, which can specifically include: controlling the robot to move so that the difference between the distance value detected by the first distance sensor and the distance value detected by the second distance sensor is less than a preset value; controlling the robot to continue moving toward the step to be jumped so that the distance value detected by the first distance sensor is the target value, or so that the distance value detected by the second distance sensor is the target value.
[0041] Among them, the distance value detected by the first distance sensor is the distance between the first distance sensor and the step to be jumped, the distance value detected by the second distance sensor is the distance between the second distance sensor and the step to be jumped, and the difference between the distance value detected by the first distance sensor and the distance value detected by the second distance sensor is less than the preset value, indicating that the robot is facing the step to be jumped, and the robot is parallel to the step to be jumped.
[0042] The above preset values can be set according to actual conditions, for example, the preset values can be 0.5 cm, 1 cm, etc.
[0043] The following combination Figure 3To illustrate the above process: After determining the step to be jumped, the robot is controlled to move. During this process, the robot obtains the distance value d1 (i.e., the distance between the robot and the vertical surface of the step to be jumped) detected by the first distance sensor and the distance value d2 (i.e., the distance between the robot and the vertical surface of the step to be jumped) detected by the second distance sensor in real time. The robot's angle is then adjusted based on the difference between the distance values d1 and d2 detected by the first and second distance sensors until the difference between the distance values d1 and d2 detected by the first and second distance sensors is less than a preset value. The robot is then controlled to continue moving toward the step to be jumped. During this time, the robot can continuously obtain the distance value d1 detected by the first distance sensor and stop moving when the distance value d1 detected by the first distance sensor equals the target value d. Alternatively, the robot can continuously obtain the distance value d2 detected by the second distance sensor and stop moving when the distance value d2 detected by the second distance sensor equals the target value d.
[0044] Considering that during the robot's jumping process, there may be a situation where the jumping direction is offset due to angle deviation, which may lead to jump failure or damage to the robot, or the distance collected by a single distance sensor is not the positive distance between the robot and the vertical surface of the step to be jumped, resulting in a large error in the calculation of the jumping parameters. Therefore, in the embodiment of the present application, two symmetrically arranged distance sensors are used to collect the distance data between the two sides of the robot and the step to be jumped in real time, so that the relative angle between the robot and the step can be accurately calculated. When the difference between the detection values of the two sensors is less than the preset value, it indicates that the robot is completely facing the step and maintains a parallel posture. This double verification mechanism effectively avoids the positioning deviation caused by the measurement error of a single distance sensor; secondly, after ensuring the parallel posture, the distance value detected by any one of the distance sensors can be selected as a reference to control the robot to move to the precise target take-off position. This method is simple to process and does not affect the accuracy.
[0045] Optionally, see Figure 4 Before determining the step to be jumped, the method further includes: step 401 to step 402.
[0046] Step 401: Receive a staircase morphology diagram marked by a user.
[0047] Among them, the stair morphology map represents the stair morphology information in the robot's current environment; the stair morphology map includes a straight area and / or a corner area, and the stair morphology map also includes the direction of going up the stairs; the straight area includes at least one step, and the corner area includes at least one step.
[0048] During the specific implementation process, users can communicate with the robot through a mobile phone application (APP). Users can perform touch operations on the application to mark the shape of the indoor stairs to construct a stair shape map, and then send the stair shape map to the robot.
[0049] See also Figure 5 , Figure 5 A user-selectable staircase template is shown. The template includes three straight areas (Straight Area 1, Straight Area 2, and Straight Area 3) and two corner areas (Corner Area 1 and Corner Area 2). Each area includes touch buttons with "+" and "-" signs, allowing the user to select a direction based on the indoor staircase structure. There are also buttons at the bottom for selecting up or down the staircase. The "Upper Left" button indicates that the staircase starts from the left and moves upwards. The "Upper Right" button indicates that the staircase starts from the right and moves upwards.
[0050] Of course, the above is only an example. In the template of actual application, more touch buttons can be included (such as a button for increasing the straight area, a button for reducing the corner area, a button for setting the step size, etc.) to correspond to different forms of stair structures. For example, other forms of stair structures can also be L-shaped, S-shaped, etc.
[0051] See also Figure 6 and Figure 7 , Figure 6 and Figure 7 Two different user-labeled staircase morphology images are shown.
[0052] Step 402: Determine the number of jump steps in the straight area and / or the number of jump steps in the corner area based on the stair morphology diagram.
[0053] After receiving the stair morphology diagram, the number of jump steps in the straight area and / or the number of jump steps in the corner area can be determined. Figure 6 As shown in the staircase morphology diagram, the number of jump steps in the straight area is determined to be two and three respectively, and the number of jump steps in the corner area is two. Since the staircase morphology diagram is "upper left", the first step in the left straight area is determined as the "step to be jumped", and then steps 101 to 103 are executed to jump. After the jump is completed, the second step in the left execution area is determined as the "step to be jumped", and then steps 101 to 103 are continued to jump, and so on, until the whole process is completed. Figure 6 Jump over all the steps in the staircase morphology diagram shown (each time the robot jumps, it can determine its current location in the staircase morphology diagram).
[0054] In summary, the embodiments of the present application provide an effective solution for multi-stair robot jumping by introducing a user-marked stair morphology map as a basis for navigation and jumping. The robot can pre-acquire complete stair morphology information, including straight-ahead areas, corner areas, and the direction of ascending stairs, enabling it to plan its jumping process in advance. Furthermore, the robot can calculate the number of jumps required for the straight-ahead and corner areas based on the stair morphology map, achieving precise segmented control of consecutive steps. This not only avoids jump failures caused by environmental recognition errors in traditional solutions, but also significantly improves the execution efficiency of continuous multi-stair actions.
[0055] Optionally, when the step to be jumped is a step in a corner area, the method also includes: determining the robot's rotation direction and rotation angle based on the upward direction of the stairs and the number of steps in the corner area; and controlling the robot to rotate based on the robot's rotation direction and rotation angle.
[0056] That is, the direction of going up the stairs is determined according to whether the stair shape diagram is "upper left" or "upper right", and then the robot's rotation direction and rotation angle are determined based on the number of steps in the corner area.
[0057] If the staircase shape diagram is "upper left", the robot's rotation direction is clockwise. If the staircase shape diagram is "upper right", the robot's rotation direction is counterclockwise.
[0058] The calculation formula for the rotation angle is 90° / N, where N represents the number of steps.
[0059] See also Figure 8 If the staircase is in the "upper left" position and there are two steps in the corner, the robot is controlled to rotate clockwise by an angle equal to 90° / 2. That is, the robot is controlled to rotate 45° clockwise. Next, the distance between the robot and the step to be jumped is controlled to the target value d. The robot is then controlled to lean back to compress the spring. When the angle between the robot's tail and the horizon reaches the robot's take-off angle, the spring is released to jump, completing the jump over the step in the corner.
[0060] As can be seen, the embodiments of the present application provide a rotation adjustment strategy for steps in corner areas. By combining the dual parameters of the staircase's ascending direction and the number of corner steps to determine the rotation direction and angle, the robot can accurately adapt to the shape of stairs with different corner structures. Secondly, this solution achieves the coordination of jumping and turning actions. The robot can immediately perform precise turning after completing the current step jump, which can improve the smoothness of multi-corner step jumping and avoid the risk of collision due to steering errors.
[0061] Optionally, when the robot is located at the junction of the straight area and the corner area, the step to be jumped is a corner step, and the method also includes: determining the robot's jumping arrival area based on the shape of the corner step; and moving the robot laterally according to the robot's jumping arrival area.
[0062] The lateral movement direction of the robot is toward the jumping arrival area of the robot.
[0063] like Figure 9 As shown, when the robot is located at the junction of the straight area and the corner area, and the step to be jumped is a step in the corner area, the robot's jumping arrival area is determined according to the shape of the corner step.
[0064] It should be noted that, since the steps in the corner area usually have different structures or the number of steps in the corner area, the corresponding jump arrival areas will be different. In specific applications, a marking frame can be prepared in advance according to the size of the robot (usually the size of the marking frame can be larger than the size of the robot to leave room for error), and then the marking frame can be moved to the corner step to determine the jump arrival area. In the process of moving the marking frame to the corner step, it is necessary to ensure that the robot has enough space to land. Then, according to the robot's jump arrival area, the robot is moved laterally, such as Figure 9 As shown, the robot moves to a position vertically corresponding to the jumping arrival area (in the embodiment of the present application, the robot jumps vertically upward).
[0065] That is, in the embodiment of the present application, the key jumping process of the robot from the straight-ahead area to the corner area is optimized and designed, and the optimal jumping arrival area is predetermined by the special shape of the corner steps, so that the robot can accurately adapt to the irregular layout of the corner steps. A lateral movement adjustment mechanism is introduced, and the robot is aligned with the optimal landing area (i.e., the above-mentioned jumping arrival area) through lateral displacement before taking off, and then takes off vertically, which can greatly reduce the risk of tipping over due to lateral force imbalance, thereby achieving a seamless and precise transition between the straight-ahead and corner areas.
[0066] Optionally, when the robot is located in the straight-ahead area, the method further includes: controlling the robot to move laterally on a current step in the straight-ahead area so that the distance between the robot and the edge of the current step is greater than a preset safety distance value.
[0067] Among them, the preset safety distance value can be set according to actual conditions, for example, the preset safety distance value can be 10 cm, 20 cm, etc.
[0068] like Figure 10As shown, when the robot is in the straight-ahead area, the controller robot moves laterally on the current step in the straight-ahead area to ensure that the distance between the robot and the edge of the current step is greater than the preset safety distance value U.
[0069] It should be noted that by setting a preset safety distance value and controlling the distance between the robot and the edge to always be greater than the preset safety distance value before each jump, safety hazards such as the robot falling or rolling over due to positioning errors or motion deviations can be avoided. At the same time, a certain amount of lateral buffer space can be left for each jumping action of the robot, ensuring the safety and reliability of the robot during operation.
[0070] Optionally, the above steps control the robot to lean back to compress the spring, and when the angle between the tail of the robot and the horizon reaches the take-off and launch angle of the robot, the spring is released to jump, which may specifically include: controlling the motor inside the robot to rotate to drive the gear to rotate; wherein the rotation of the gear drives the rack to move in a straight line, causing the robot to lean back to compress the spring; when the angle between the tail of the robot and the horizon reaches the take-off and launch angle of the robot, controlling the motor inside the robot to disengage the gear and rack, releasing the spring, so that the robot jumps.
[0071] That is, the embodiment of the present application uses motors, gears, racks, and springs to achieve effective control of the robot's power-accumulating jump.
[0072] The robot's internal motor starts, rotating the gear. The rotating gear meshes with the rack, converting the rotational motion into linear motion. This linear motion pushes the robot backward, compressing the tail spring, storing elastic potential energy. When the angle between the robot's tail and the horizon reaches the preset takeoff angle, the robot's power accumulation is complete. At this point, the motor controls the gear to quickly disengage from the rack, releasing the spring's restraint. The spring instantly releases its energy, launching the robot into the air and completing the jump.
[0073] It should be noted that the use of rack and pinion transmission makes it easier to control the robot's backward angle and spring compression.
[0074] Optionally, the robot also includes an image acquisition device. Before the step of determining the step to be jumped, the method also includes: obtaining a scanned image after the image acquisition device scans the current environment; based on the scanned image, determining the stair structure in the current environment; based on the stair structure, determining at least one step to be jumped.
[0075] Among them, the image acquisition device can be a camera, a depth camera or a lidar.
[0076] That is, the robot can be used with an image acquisition device to scan the space to obtain the stair structure in the current environment.
[0077] The image processing algorithm process involved in the above scanning process may at least include edge detection, point cloud analysis, etc.
[0078] See also Figure 11 Based on the same inventive concept, an embodiment of the present application further provides a robot 100 , including: a robot body 110 , a spring 120 and a controller (not shown in the figure).
[0079] The spring 120 is provided at the tail of the robot body 110 .
[0080] The controller is disposed inside the robot body 110 and is configured to execute the robot jumping control method described in the aforementioned embodiment.
[0081] The controller in the embodiments of the present application may be a central processing unit (CPU), but may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.
[0082] Those skilled in the art will understand that Figure 11 The robot 100 is merely an example and does not limit the robot 100 . The robot 100 may include more or fewer components than shown in the figure, or may combine certain components, or may include different components.
[0083] For example, the robot 100 may be provided with a motor, gears, and racks; a memory may be provided inside the robot 100; an image acquisition device may be provided outside the robot 100; and various sensors may be provided outside the robot 100.
[0084] In some embodiments, the memory may be an internal storage unit of the robot 100, such as the memory of the robot 100. In other embodiments, the memory may also be an external storage device of the robot 100, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the robot 100.
[0085] It should be noted that the control logic of the above-mentioned robot 100 is based on the same concept as the method embodiment of the present application. The modules designed for the robot 100, the steps executed and the technical effects brought about can all be found in the method embodiment part and will not be repeated here.
[0086] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the above-mentioned various method embodiments can be implemented.
[0087] An embodiment of the present application provides a computer program product. When the computer program product is run on a mobile terminal, the mobile terminal can implement the steps in the above-mentioned various method embodiments when executing the computer program product.
[0088] If the integrated unit is implemented as a software functional unit and sold or used as a standalone product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the process steps in the above-mentioned method embodiments by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. When executed by a processor, the computer program can implement the steps of each of the above-mentioned method embodiments. The computer program includes computer program code, which can be in source code form, object code form, executable file, or some intermediate form. The computer-readable medium can include at least: any entity or device capable of carrying the computer program code to the camera / electronic device, a recording medium, computer memory, read-only memory (ROM), random access memory (RAM), an electrical carrier signal, a telecommunications signal, and a software distribution medium. Examples include a USB flash drive, a removable hard drive, a magnetic disk, or an optical disk.
[0089] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.
[0090] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0091] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present application, and should all be included in the scope of protection of the present application.
Claims
1. A robot jumping control method, characterized in that: A controller applied to a robot, wherein a spring is provided at the tail of the robot, and the method comprises: Determine the steps to be jumped; Controlling the robot to move so that the distance between the robot and the step to be jumped is a target value; wherein the target value is determined by the take-off launch angle, length, and mass of the robot, the spring constant and compressed length of the spring, and the height of the step to be jumped; The robot is controlled to lean back to compress the spring, and when the angle between the tail of the robot and the horizon reaches the take-off and launch angle of the robot, the spring is released to jump.
2. The robot jump control method according to claim 1, characterized in that: The target value is any value within a preset range of the set value; The calculation formula of the set value is: ; in, represents the set value, C is a constant, ; k represents the spring constant, m represents the mass of the robot, x represents the compressed length of the spring; α represents the take-off angle of the robot; t represents the time it takes for the robot to jump onto the step, and the formula corresponding to t is: ; h represents the height of the step to be jumped; g represents the acceleration of gravity; L represents the length from the front end to the tail of the robot.
3. The robot jump control method according to claim 1, characterized in that: The robot further includes a first distance sensor and a second distance sensor; the first distance sensor and the second distance sensor are symmetrically distributed on the robot; The controlling the robot to move so that the distance between the robot and the step to be jumped is a target value includes: Controlling the robot to move so that a difference between a distance value detected by the first distance sensor and a distance value detected by the second distance sensor is less than a preset value; wherein the distance value detected by the first distance sensor is the distance between the first distance sensor and the step to be jumped, and the distance value detected by the second distance sensor is the distance between the second distance sensor and the step to be jumped, and the difference between the distance value detected by the first distance sensor and the distance value detected by the second distance sensor is less than the preset value indicates that the robot is heading towards the step to be jumped and the robot is parallel to the step to be jumped; The robot is controlled to continue moving toward the step to be jumped so that the distance value detected by the first distance sensor is the target value, or the distance value detected by the second distance sensor is the target value.
4. The robot jump control method according to claim 1, characterized in that: Before determining the step to be jumped, the method further includes: Receive a stair morphology diagram marked by a user; wherein the stair morphology diagram represents stair morphology information in the robot's current environment; the stair morphology diagram includes a straight area and / or a corner area, and the stair morphology diagram also includes an ascending direction of the stairs; the straight area includes at least one step, and the corner area includes at least one step; Based on the stair morphology diagram, the number of jump steps in the straight area and / or the number of jump steps in the corner area are determined.
5. The robot jump control method according to claim 4, characterized in that: When the step to be jumped is a step in a corner area, the method further includes: Determining the rotation direction and rotation angle of the robot based on the ascending direction of the stairs and the number of steps in the corner area; The robot is controlled to rotate based on the rotation direction and rotation angle of the robot.
6. The robot jump control method according to claim 4, characterized in that: When the robot is located at the junction of the straight area and the corner area, the step to be jumped is a corner step, and the method further includes: determining a jumping arrival area of the robot based on the shape of the corner step; The robot is moved laterally according to the jumping arrival area of the robot; wherein the lateral movement direction of the robot is toward the jumping arrival area of the robot.
7. The robot jump control method according to claim 4, characterized in that: When the robot is located in the straight-ahead area, the method further includes: The robot is controlled to move laterally on a current step in the straight-ahead area so that the distance between the robot and the edge of the current step is greater than a preset safety distance value.
8. The robot jump control method according to claim 1, characterized in that: The controlling the robot to lean back to compress the spring, and releasing the spring to jump when the angle between the tail of the robot and the horizon reaches the take-off angle of the robot, comprises: Controlling the motor inside the robot to rotate so as to drive the gear to rotate; wherein the rotation of the gear drives the rack to move linearly, causing the robot to lean back to compress the spring; When the angle between the tail of the robot and the horizon reaches the take-off launch angle of the robot, the motor inside the robot is controlled to disengage the gear from the rack and release the spring, so that the robot jumps.
9. The robot jump control method according to claim 1, characterized in that: The robot further includes an image acquisition device. Before determining the step to be jumped, the method further includes: Obtaining a scanned image of the current environment after the image acquisition device scans the current environment; determining a stair structure in the current environment based on the scanned image; Based on the stair structure, at least one step to be jumped is determined.
10. A robot, characterized in that: include: Robot body; a spring, arranged at the tail of the robot body; A controller is provided inside the robot body, and the controller is configured to execute the robot jumping control method according to any one of claims 1 to 9.