Robot movement control method and device, humanoid robot and readable storage medium
By acquiring and adjusting the actual riding parameters of the humanoid robot on a two-wheeled self-balancing vehicle, and performing inverse kinematics solutions and pose adjustments, the problem of insufficient riding stability and balance of the humanoid robot was solved, and stable riding on the two-wheeled self-balancing vehicle was achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- UBTECH ROBOTICS CORP LTD
- Filing Date
- 2023-12-21
- Publication Date
- 2026-04-14
AI Technical Summary
Existing humanoid robots lack stability and balance when riding two-wheeled self-balancing scooters, making it difficult to maintain balance and prone to falling off.
By acquiring parameters such as the humanoid robot's actual riding speed, waist position, and center of gravity pitch angle in the direction of travel of the self-balancing scooter, the desired waist position is calculated and adjusted, and inverse kinematics is solved to control the robot's posture adjustment to maintain balance.
It effectively improves the riding stability and balance of humanoid robots during the riding of two-wheeled self-balancing vehicles, preventing them from falling off the vehicle.
Smart Images

Figure CN117784786B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robot control technology, and more specifically, to a robot movement control method and apparatus, a humanoid robot, and a readable storage medium. Background Technology
[0002] With the continuous development of science and technology, robotics has received widespread attention from various industries due to its immense research and application value. Humanoid robots, in particular, are widely accepted and integrated into human society because of their human-like appearance and functions (e.g., upper limbs with manipulatory capabilities and lower limbs with motor capabilities). Therefore, humanoid robots represent an important research direction in contemporary robotics. While humanoid robots possess leg structures similar to humans, allowing them to traverse complex terrain like humans, they cannot move as smoothly and quickly as wheeled robots. Therefore, improving the movement speed of humanoid robots remains a long-term challenge in their application.
[0003] Currently, humanoid robots can improve their speed and become more anthropomorphic by using human transportation, which contributes to their functional and cognitive development. Two-wheeled self-balancing scooters are a commonly used small mode of transportation. Therefore, improving the stability and balance of humanoid robots while riding two-wheeled self-balancing scooters is a crucial problem that urgently needs to be solved in humanoid robot control technology. Summary of the Invention
[0004] In view of this, the purpose of this application is to provide a robot movement control method and device, a humanoid robot, and a readable storage medium, which can control the humanoid robot to adjust its posture on a two-wheeled self-balancing vehicle to maintain the riding balance of the two-wheeled self-balancing vehicle, and drive the two-wheeled self-balancing vehicle to carry the humanoid robot in the forward direction to achieve a stable forward and backward movement effect or a stationary effect, so as to effectively improve the riding stability and riding balance of the humanoid robot during the riding of the two-wheeled self-balancing vehicle, and prevent the humanoid robot from falling off the two-wheeled self-balancing vehicle.
[0005] To achieve the above objectives, the technical solutions adopted in the embodiments of this application are as follows:
[0006] In a first aspect, this application provides a robot mobility control method applied to a humanoid robot riding a target two-wheeled self-balancing vehicle, the method comprising:
[0007] The actual riding speed, waist position, and desired riding speed of the humanoid robot in the direction of travel of the balance vehicle are obtained, as well as the current pitch angle and pitch velocity of the humanoid robot's center of mass.
[0008] Based on the actual riding speed, the desired riding speed, the center of mass pitch angle, and the center of mass pitch angular velocity, calculate the desired waist position required for the humanoid robot to maintain balance at the desired riding speed while driving the target two-wheeled balance vehicle.
[0009] Based on the actual waist position and the actual riding speed, the desired waist position is adjusted to obtain the target waist position required for the humanoid robot to maintain a stable standing state on the target two-wheeled balance vehicle.
[0010] Based on the target waist position, the robot's inverse kinematics is solved, and the humanoid robot's pose is adjusted according to the corresponding inverse kinematics solution results.
[0011] In an optional implementation, the step of calculating the desired waist position required for the humanoid robot to maintain balance at the desired riding speed by driving the target two-wheeled self-balancing vehicle based on the actual riding speed, the desired riding speed, the center of gravity pitch angle, and the center of gravity pitch angular velocity includes:
[0012] Obtain the balance control law equations required for the humanoid robot and the target two-wheeled self-balancing vehicle to maintain riding balance;
[0013] Substituting the actual riding speed, the desired riding speed, the center of mass pitch angle, and the center of mass pitch angular velocity into the balance control law equation, the equation is solved to obtain the desired waist acceleration required for the humanoid robot to maintain riding balance in the forward direction of the balance vehicle, wherein the desired waist acceleration corresponds to the desired riding speed.
[0014] The desired waist acceleration is integrated twice to obtain the desired waist position of the humanoid robot in the forward direction of the self-balancing vehicle.
[0015] In an optional implementation, the equilibrium control law equation is expressed as follows:
[0016]
[0017] Among them, v des The value 'v' represents the expected riding speed of the humanoid robot in the direction of travel of the self-balancing scooter, 'v' represents the actual riding speed of the humanoid robot in the direction of travel of the self-balancing scooter, and 'θ' represents the pitch angle of the humanoid robot's center of mass. Used to represent the pitch angular velocity of the center of mass of the humanoid robot. K is used to represent the desired waist acceleration of the humanoid robot in the direction of travel of the self-balancing scooter, corresponding to the desired riding speed. pK is used to represent the angle control parameters related to centroid pitch change operations. d K is used to represent the angular velocity control parameter related to the pitch change operation of the center of gravity. v Used to represent linear speed control parameters related to changes in the moving speed of the self-balancing scooter.
[0018] In an optional implementation, the step of performing a compliant adjustment process on the desired waist position based on the actual waist position and the actual riding speed to obtain the target waist position required for the humanoid robot to maintain a stable standing state on the target two-wheeled self-balancing vehicle includes:
[0019] The zero-torque point position of the humanoid robot on the target two-wheeled self-balancing vehicle is obtained, as well as the initial waist position of the humanoid robot in the forward direction of the self-balancing vehicle when it is standing stably on the target two-wheeled self-balancing vehicle in a stationary state.
[0020] The zero torque point position, the actual waist position, the actual riding speed, and the desired waist position are substituted into the waist acceleration correction equation corresponding to the stable standing state for equation solving to obtain the target waist acceleration required for the humanoid robot to maintain a stable standing state.
[0021] Based on the expected velocity of the humanoid robot's center of mass in the direction of travel of the self-balancing vehicle at the previous moment and the target waist acceleration corresponding to the current moment, the waist position compliance prediction is performed based on the linear inverted pendulum model matched with the humanoid robot, and the corrected waist position of the humanoid robot in the direction of travel of the self-balancing vehicle is obtained.
[0022] The initial waist position and the corrected waist position are superimposed to obtain the target waist position of the humanoid robot in the forward direction of the self-balancing vehicle.
[0023] In an optional implementation, the waist acceleration correction equation is expressed as follows:
[0024]
[0025] Where, x des The variable 'x' represents the desired waist position of the humanoid robot in the direction of travel of the self-balancing scooter, 'x' represents the actual waist position of the humanoid robot in the direction of travel of the self-balancing scooter, and 'p' represents the positional component of the zero-torque point in the direction of travel of the self-balancing scooter. This is used to indicate the actual riding speed of the humanoid robot in the direction of travel of the self-balancing scooter. K is used to represent the target waist acceleration of the humanoid robot in the direction of travel of the self-balancing scooter. xpK is used to represent the position control parameters related to waist position change operations. xd K is used to represent the linear velocity control parameter related to waist position change operations. xz Used to represent position control parameters associated with the zero torque point.
[0026] In an optional implementation, if the target two-wheeled self-balancing vehicle is a two-wheeled self-balancing vehicle with a leg control bar, the method further includes:
[0027] Obtain the current desired turning angular velocity of the humanoid robot, and calculate the current desired lateral displacement position of the waist of the humanoid robot in the lateral displacement direction of the self-balancing vehicle based on the desired turning angular velocity;
[0028] The robot's inverse kinematics is solved based on the target waist position corresponding to the forward direction of the self-balancing scooter and the desired waist lateral displacement position corresponding to the lateral displacement direction of the self-balancing scooter. The humanoid robot is then controlled to adjust its pose based on the obtained inverse kinematics solution.
[0029] In an optional implementation, if the target two-wheeled self-balancing vehicle is a legless two-wheeled self-balancing vehicle, the method further includes:
[0030] Obtain the current desired turning angular velocity of the humanoid robot, and calculate the desired pitch angle of each of the humanoid robot's two ankle joints that matches the desired turning angular velocity based on the desired turning angular velocity;
[0031] Based on the target waist position corresponding to the forward direction of the self-balancing scooter and the desired pitch angles of the ankle joints of the humanoid robot's legs, the robot's inverse kinematics is solved, and the humanoid robot's pose is adjusted according to the obtained inverse kinematics solution.
[0032] In an optional implementation, the method further includes:
[0033] Detect whether the target force applied by the target two-wheeled self-balancing vehicle to the sole of the humanoid robot's foot satisfies the contact surface friction cone constraint condition;
[0034] If the target force is detected to be not satisfied with the contact surface friction cone constraint condition, the humanoid robot is controlled to adjust the actual position of the waist towards the target direction of the target two-wheeled self-balancing vehicle, wherein the target direction is parallel to the forward direction of the self-balancing vehicle.
[0035] Secondly, this application provides a robot mobility control device for use with a humanoid robot riding a target two-wheeled self-balancing vehicle, the device comprising:
[0036] The motion parameter acquisition module is used to acquire the humanoid robot's current actual riding speed, actual waist position, and expected riding speed in the direction of travel of the balance vehicle, as well as the humanoid robot's current center of mass pitch angle and center of mass pitch angular velocity.
[0037] The waist position calculation module is used to calculate the desired waist position required for the humanoid robot to maintain balance at the desired riding speed when driving the target two-wheeled balance vehicle, based on the actual riding speed, the desired riding speed, the center of gravity pitch angle, and the center of gravity pitch angular velocity.
[0038] The waist position adjustment module is used to perform a smooth adjustment of the desired waist position based on the actual waist position and the actual riding speed, so as to obtain the target waist position required for the humanoid robot to maintain a stable standing state on the target two-wheeled balance vehicle.
[0039] The body pose adjustment module is used to perform robot inverse kinematics solution based on the target waist position, and control the humanoid robot to adjust its pose according to the corresponding inverse kinematics solution results.
[0040] In an optional embodiment, the device further includes a steering parameter calculation module;
[0041] The steering parameter calculation module is used to obtain the current expected steering angular velocity of the humanoid robot, and when the target two-wheeled self-balancing vehicle is a two-wheeled self-balancing vehicle with leg control rods, calculate the current expected lateral displacement position of the humanoid robot's waist in the lateral displacement direction of the self-balancing vehicle based on the expected steering angular velocity; or when the target two-wheeled self-balancing vehicle is a two-wheeled self-balancing vehicle without leg control rods, calculate the expected pitch angle of each of the humanoid robot's two ankle joints that matches the expected steering angular velocity based on the expected steering angular velocity.
[0042] The body posture adjustment module is further configured to perform robot inverse kinematics solutions based on the target waist position corresponding to the forward direction of the balance vehicle and the desired lateral displacement position of the waist corresponding to the lateral displacement direction of the balance vehicle when the target two-wheeled balance vehicle is a two-wheeled balance vehicle with leg control sticks; or to perform robot inverse kinematics solutions based on the target waist position corresponding to the forward direction of the balance vehicle and the desired pitch angles of the ankle joints of the humanoid robot's two legs when the target two-wheeled balance vehicle is a two-wheeled balance vehicle without leg control sticks. Then, the module controls the humanoid robot to perform posture adjustment based on the obtained inverse kinematics solution results.
[0043] In an optional embodiment, the device further includes a friction constraint detection module;
[0044] The friction constraint detection module is used to detect whether the target force applied by the target two-wheeled balance vehicle to the robot foot of the humanoid robot satisfies the contact surface friction cone constraint condition.
[0045] The waist position adjustment module is also used to control the humanoid robot to adjust the actual waist position toward the target direction of the target two-wheeled balance vehicle when the friction constraint detection module detects that the target force does not meet the contact surface friction cone constraint condition, wherein the target direction is parallel to the forward direction of the balance vehicle.
[0046] Thirdly, this application provides a humanoid robot that rides on a target two-wheeled self-balancing vehicle, wherein the humanoid robot includes a processor and a memory;
[0047] The memory stores a computer program that can be executed by the processor, which can execute the computer program to implement the robot movement control method described in any of the foregoing embodiments.
[0048] Fourthly, this application provides a readable storage medium storing a computer program thereon, which, when executed by a humanoid robot riding on a target two-wheeled self-balancing vehicle, implements the robot movement control method described in any of the foregoing embodiments.
[0049] In this case, the beneficial effects of the embodiments of this application may include the following:
[0050] This application calculates the desired waist position required for the humanoid robot to maintain balance on the target two-wheeled self-balancing scooter at the desired speed, based on the humanoid robot's current actual and desired riding speed in the forward direction of the self-balancing scooter, as well as the humanoid robot's current pitch angle and pitch velocity. Then, based on the humanoid robot's actual waist position and actual riding speed in the forward direction of the self-balancing scooter, the desired waist position is compliantly adjusted to obtain the target waist position required for the humanoid robot to maintain a stable standing position on the target two-wheeled self-balancing scooter. Subsequently, inverse kinematics of the robot are solved based on the target waist position, and the humanoid robot's posture is adjusted according to the corresponding inverse kinematics solution to maintain the riding balance of the two-wheeled self-balancing scooter. This allows the two-wheeled self-balancing scooter to carry the humanoid robot in the forward direction, achieving stable forward and backward movement or stationary position, thereby effectively improving the humanoid robot's riding stability and balance during the riding process on the two-wheeled self-balancing scooter and preventing the humanoid robot from falling off the two-wheeled self-balancing scooter.
[0051] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0052] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0053] Figure 1 A schematic diagram of a humanoid robot riding a two-wheeled self-balancing vehicle provided in an embodiment of this application;
[0054] Figure 2 A schematic diagram illustrating the composition of the humanoid robot provided in the embodiments of this application;
[0055] Figure 3 A schematic diagram showing the forward and backward movement of a two-wheeled self-balancing scooter with leg control levers in the direction of travel.
[0056] Figure 4 A schematic diagram of the steering motion of a two-wheeled self-balancing scooter with leg control levers;
[0057] Figure 5 A schematic diagram illustrating the working principle of a legless, lever-less, two-wheeled self-balancing scooter;
[0058] Figure 6 This is one of the flowcharts illustrating the robot movement control method provided in the embodiments of this application;
[0059] Figure 7 A schematic diagram of the equivalent motion model of the humanoid robot and the target two-wheeled self-balancing vehicle in the direction of travel of the self-balancing vehicle;
[0060] Figure 8 This is a second schematic flowchart of the robot movement control method provided in the embodiments of this application;
[0061] Figure 9 A diagram illustrating the limb interaction of a humanoid robot riding a two-wheeled self-balancing scooter with leg control levers when turning right.
[0062] Figure 10 The third schematic flowchart of the robot movement control method provided in the embodiments of this application;
[0063] Figure 11 A schematic diagram of the foot posture of a humanoid robot when turning right on a two-wheeled self-balancing scooter without leg control sticks;
[0064] Figure 12 The fourth flowchart illustrates the robot movement control method provided in this application embodiment;
[0065] Figure 13This is one of the schematic diagrams of the robot movement control device provided in the embodiments of this application;
[0066] Figure 14 This is a second schematic diagram of the robot movement control device provided in the embodiments of this application.
[0067] Icons: 10-Humanoid robot; 11-Memory; 12-Processor; 13-Communication unit; 14-Sensing unit; 100-Robot movement control device; 110-Motion parameter acquisition module; 120-Waist position calculation module; 130-Waist position adjustment module; 140-Body posture adjustment module; 150-Steering parameter calculation module; 160-Friction constraint detection module. Detailed Implementation
[0068] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. The components of the embodiments of this application described and shown in the accompanying drawings can generally be arranged and designed in various different configurations.
[0069] Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0070] It should be noted that similar labels and letters in the following figures indicate similar items. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.
[0071] In the description of this application, it should be understood that the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings, or the orientation or positional relationship commonly used when the product is in use, or the orientation or positional relationship commonly understood by those skilled in the art. They are used only for the convenience of describing this application and simplifying the description, and are not intended to indicate or imply that the equipment or component referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this application.
[0072] In the description of this application, it should also be noted that, unless otherwise expressly specified and limited, the terms "set up," "install," "connect," and "link" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in this application based on the specific circumstances.
[0073] Furthermore, it is understood in the description of this application that relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element. Those skilled in the art will understand the specific meaning of the above terms in this application based on the specific circumstances.
[0074] The following detailed description of some embodiments of this application is provided in conjunction with the accompanying drawings. Unless otherwise specified, the following embodiments and features can be combined with each other.
[0075] Please refer to the reference. Figure 1 and Figure 2 ,in Figure 1 This is a schematic diagram of the humanoid robot 10 riding a target two-wheeled self-balancing vehicle provided in this application embodiment. Figure 2This is a schematic diagram of the composition of the humanoid robot 10 provided in this embodiment. In this embodiment, the humanoid robot 10 can ride on the target two-wheeled self-balancing vehicle and, by adjusting its own posture on the target two-wheeled self-balancing vehicle, drives the target two-wheeled self-balancing vehicle to achieve any one of the following riding motion effects: stable forward and backward movement, stationary standing, turning in place, and turning. Simultaneously, it effectively maintains the riding balance of the target two-wheeled self-balancing vehicle. Therefore, while increasing the movement speed of the humanoid robot 10 through the target two-wheeled self-balancing vehicle, it effectively improves the riding stability and balance of the humanoid robot 10 during the riding process, preventing the humanoid robot 10 from falling off the target two-wheeled self-balancing vehicle. The humanoid robot 10 can be a redundant robot with a series / parallel configuration using position control, force control, or a force-position hybrid control. The target two-wheeled self-balancing vehicle can be a two-wheeled self-balancing vehicle with leg control rods or without leg control rods.
[0076] In this embodiment, the humanoid robot 10 may include a robot upper body, a hip joint drive structure, and two mechanical leg structures. The two mechanical leg structures are located on both sides of the hip joint drive structure and connected to it. The robot upper body is connected to the hip joint drive structure, and the connection between the hip joint drive structure and the robot upper body is located between the two mechanical leg structures. Two mutually orthogonal rotatable drive structures may be provided at the connection points of the hip joint drive structure and each mechanical leg structure to achieve alternating position changes between the two mechanical leg structures. Each mechanical leg structure has a rotatable drive structure at its knee joint to achieve knee flexion operation. Each mechanical leg structure also has a rotatable drive structure at its ankle joint to achieve foot posture changes.
[0077] In addition, the humanoid robot 10 also includes a robot motion control device 100, a memory 11, a processor 12, a communication unit 13, and a sensing unit 14. The memory 11, the processor 12, the communication unit 13, and the sensing unit 14 are electrically connected directly or indirectly to achieve data transmission or interaction. For example, the memory 11, the processor 12, the communication unit 13, and the sensing unit 14 can be electrically connected through one or more communication buses or signal lines.
[0078] In this embodiment, the memory 11 may be, but is not limited to, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc. The memory 11 is used to store computer programs, and the processor 12 can execute the computer programs accordingly after receiving execution instructions.
[0079] In this embodiment, the processor 12 can be an integrated circuit chip with signal processing capabilities. The processor 12 can be a general-purpose processor, including at least one of a Central Processing Unit (CPU), Graphics Processing Unit (GPU), Network Processor (NP), Digital Signal Processor (DSP), Application-Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor can be a microprocessor or any conventional processor, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application.
[0080] In this embodiment, the communication unit 13 is used to establish a communication connection between the humanoid robot 10 and other electronic devices via a network, and to send and receive data through the network, wherein the network includes wired communication networks and wireless communication networks. For example, the humanoid robot 10 can obtain movement control commands through the communication unit 13, and adjust its own posture on the target two-wheeled self-balancing vehicle according to the movement control commands, so as to drive the target two-wheeled self-balancing vehicle to achieve the expected movement effect of the movement control commands.
[0081] In this embodiment, the sensing unit 14 is used to sense the motion data of the humanoid robot 10, such as monitoring the actual rotation angle and / or real-time angular velocity of the humanoid robot 10 at each joint (including the robot's real joints and virtual joints), and monitoring the motion posture and motion speed of each body part of the humanoid robot 10 (e.g., the soles of the feet, the center of mass, and the waist).
[0082] In this embodiment, the robot mobility control device 100 includes at least one software function module that can be stored in the memory 11 in the form of software or firmware or embedded in the operating system of the humanoid robot 10. The processor 12 can be used to execute the executable modules stored in the memory 11, such as the software function modules and computer programs included in the robot mobility control device 100. The humanoid robot 10 can adjust its posture on the target two-wheeled balance vehicle through the robot mobility control device 100 to drive the target two-wheeled balance vehicle to carry the humanoid robot 10 to achieve any one of the riding motion effects such as stable forward and backward movement, stationary standing, turning in place, and turning, while effectively maintaining the riding balance of the target two-wheeled balance vehicle. Thus, while increasing the movement speed of the humanoid robot 10 through the target two-wheeled balance vehicle, it effectively improves the riding stability and balance of the humanoid robot 10 during the riding process of the two-wheeled balance vehicle, and prevents the humanoid robot 10 from falling off the target two-wheeled balance vehicle.
[0083] Understandable, Figure 2 The block diagram shown is only a schematic diagram of one composition of the humanoid robot 10. The humanoid robot 10 may also include components such as... Figure 2 The more or fewer components shown, or having the same Figure 2 The different configurations shown. Figure 2 The components shown can be implemented using hardware, software, or a combination thereof.
[0084] For the target two-wheeled self-balancing scooter, when the humanoid robot 10 rides on it, the direction that both the humanoid robot 10 and the target two-wheeled self-balancing scooter face simultaneously can be taken as the forward direction of the scooter. Then, based on the right-hand rule, a reference coordinate system is established to describe the pose of the humanoid robot 10. In this system, the positive X-axis represents the forward direction of the scooter, the positive Y-axis points to the left side of the humanoid robot 10 to represent the lateral movement direction of the target two-wheeled self-balancing scooter, and the positive Z-axis represents the height direction. Therefore, the leftward rotation around the Z-axis of this reference coordinate system (counterclockwise) can be taken as the forward rotation direction of the scooter within this reference coordinate system. The target two-wheeled self-balancing scooter can be either a two-wheeled scooter with leg control sticks or a two-wheeled scooter without leg control sticks.
[0085] Please refer to the reference. Figure 3 and Figure 4 ,in Figure 3 This is a schematic diagram of the forward and backward movement of a two-wheeled self-balancing scooter with leg control levers in the direction of travel. Figure 4 This is a schematic diagram of the steering motion of a two-wheeled self-balancing scooter with a leg control stick. When the target two-wheeled self-balancing scooter is a two-wheeled self-balancing scooter with a leg control stick, it will include two motor-driven wheels, a leg control stick for steering, and a footrest platform for the rider to stand on; the overall system formed by the rider and the target two-wheeled self-balancing scooter (which is a two-wheeled self-balancing scooter with a leg control stick) is in the direction of travel of the scooter (i.e., Figure 3 The principle of forward and backward motion along the positive X-axis (in the model) is similar to the control principle of the wheel-type inverted pendulum model. Figure 3 The wheel in the text refers to the wheels of the target two-wheeled self-balancing vehicle. Figure 3 The bar in the middle is used to indicate the positional relationship between the rider's center of gravity and the soles of their feet. For example... Figure 3 As shown in (a), when the rider wants to move forward in the direction of travel of the self-balancing scooter, the body needs to lean forward (θ>0), and the rider's center of gravity will be pressed forward, causing the foot pedal platform of the target two-wheeled self-balancing scooter to lean forward as well. At this time, the built-in balance algorithm of the target two-wheeled self-balancing scooter will cause the two wheels to accelerate forward in order to allow the foot pedal platform of the target two-wheeled self-balancing scooter to restore the rider to an upright standing position. In this process, the target two-wheeled self-balancing scooter achieves forward movement. If the rider's body returns to an upright standing position under the action of the target two-wheeled self-balancing scooter (θ=0), the target two-wheeled self-balancing scooter will stop moving forward accordingly, and at this time the target two-wheeled self-balancing scooter is stationary. If the rider's body continues to lean forward, the wheels will continue to accelerate until the internally set speed limit, at which point the target two-wheeled self-balancing scooter will maintain forward movement in the direction of travel of the self-balancing scooter.
[0086] like Figure 3 As shown in (b), when the rider wants to move backward in the forward direction of the scooter, the body needs to lean backward (θ<0), and the rider's center of gravity will be pressed to the rear, causing the foot pedal platform of the target two-wheeled scooter to lean backward as well. At this time, the balancing algorithm built into the target two-wheeled scooter will cause the two wheels to accelerate backward in order to allow the foot pedal platform of the target two-wheeled scooter to restore the rider to an upright standing position. In this process, the target two-wheeled scooter achieves backward movement. If the rider's body returns to an upright standing position (θ=0) under the action of the target two-wheeled scooter, the target two-wheeled scooter will stop backward movement accordingly, and at this time the target two-wheeled scooter is stationary. If the rider's body continues to lean backward, the wheels will continue to accelerate until the internally set speed limit, at which point the target two-wheeled scooter will continue to move backward in the forward direction of the scooter.
[0087] Furthermore, when a rider controls the target two-wheeled self-balancing scooter (a type of two-wheeled self-balancing scooter with a leg control lever) to achieve the steering function, they can rotate the leg control lever to the left relative to the direction of travel of the self-balancing scooter (i.e., control the leg control lever towards...). Figure 4 The target two-wheeled self-balancing scooter can be controlled to turn left by deflecting the Y-axis in the positive direction (as shown), or by manipulating the leg control stick to rotate to the right relative to the direction of travel of the self-balancing scooter (i.e., controlling the leg control stick to move away from the direction of travel). Figure 4 The target two-wheeled self-balancing scooter is controlled to turn to the right by deflecting the Y-axis in the positive direction (as shown). For example, Figure 4 As shown in (a), when the rider wants to turn left relative to the direction of travel of the balance bike, they rotate the leg control stick to the left. At this time, the right wheel of the balance bike will have its original forward and backward acceleration superimposed with an acceleration in the same direction as the direction of travel (i.e., the right wheel accelerates forward), while the left wheel will have its original forward and backward acceleration superimposed with an acceleration in the opposite direction to the direction of travel (i.e., the left wheel accelerates backward). The sum of the accelerations of the two wheels remains unchanged. At this time, the rider can achieve the effect of turning left while maintaining the balance of forward and backward travel; Figure 4 As shown in (b), when the rider wants to turn right relative to the direction of travel of the balance bike, the rider controls the leg lever to rotate to the right. At this time, the right wheel of the balance bike will be superimposed with the acceleration in the opposite direction of travel of the balance bike (i.e., the right wheel accelerates backward) on the original acceleration of the forward and backward motion, while the left wheel of the balance bike will be superimposed with the acceleration in the same direction as the direction of travel of the balance bike (i.e., the left wheel accelerates forward). The sum of the accelerations of the two wheels remains unchanged. At this time, the rider can achieve the effect of turning right while maintaining the balance of forward and backward motion.
[0088] Please refer to Figure 5 , Figure 5This is a schematic diagram illustrating the working principle of a legless, lever-less two-wheeled self-balancing scooter. When the target two-wheeled self-balancing scooter is a legless, lever-less type, it will include two motor-driven wheels and a footrest platform for the rider to stand on. This footrest platform can be divided into a left footrest and a right footrest. Pressure sensors 1, 2, 3, and 4 are arranged in a grid pattern inside the left footrest, and pressure sensors 5, 6, 7, and 8 are arranged in a grid pattern inside the right footrest. Pressure sensors 1, 2, 5, and 6 are closer to the direction of travel of the scooter than pressure sensors 3, 4, 7, and 8. When the pressure detected by pressure sensors 1 and 2 is greater than the pressure detected by pressure sensors 3 and 4, the left wheel of the scooter accelerates forward; when the pressure detected by pressure sensors 1 and 2 is equal to the pressure detected by pressure sensors 3 and 4, the left wheel does not accelerate; when the pressure detected by pressure sensors 1 and 2 is less than the pressure detected by pressure sensors 3 and 4, the left wheel accelerates backward; when the pressure detected by pressure sensors 5 and 6 is greater than the pressure detected by pressure sensors 7 and 8, the right wheel accelerates forward; when the pressure detected by pressure sensors 5 and 6 is equal to the pressure detected by pressure sensors 7 and 8, the right wheel does not accelerate; when the pressure detected by pressure sensors 5 and 6 is less than the pressure detected by pressure sensors 7 and 8, the right wheel accelerates backward. Therefore, the rider can adjust the pressure applied to the various pressure sensors of the target two-wheeled scooter (i.e., a two-wheeled scooter without leg levers) to drive the target two-wheeled scooter forward or backward in the forward direction, or drive the target two-wheeled scooter to the left around the Z-axis (i.e.,...). Figure 5 Rotate in the direction of yaw or to the right.
[0089] In this application, to ensure that the humanoid robot 10 can drive different types of target two-wheeled balance vehicles to achieve stable forward and backward movement or stationary position in the forward direction of the balance vehicle, and to effectively maintain the balance of the two-wheeled balance vehicle during riding, preventing the humanoid robot 10 from falling off the target two-wheeled balance vehicle, this application embodiment achieves the aforementioned objective by providing a first robot movement control method. The first robot movement control method provided by this application will be described in detail below.
[0090] Please refer to Figure 6 , Figure 6 This is one of the flowcharts illustrating a robot movement control method provided in this application embodiment. In this application embodiment, the robot movement control method may include steps S210 to S240.
[0091] Step S210: Obtain the humanoid robot's current actual riding speed, waist position, and expected riding speed in the direction of travel of the balance bike, as well as the humanoid robot's current center of mass pitch angle and center of mass pitch velocity.
[0092] In this embodiment, please refer to Figure 7 The center of mass of the humanoid robot 10 can be considered to coincide with the waist of the humanoid robot 10. The equivalent motion model of the humanoid robot 10 and the target two-wheeled self-balancing vehicle in the direction of travel of the self-balancing vehicle can be considered as a wheeled inverted pendulum model. Figure 7 In It can be used to represent the actual riding speed of the humanoid robot 10 in the forward direction of the self-balancing scooter, and it can also be used to represent the waist movement speed (or center of mass movement speed) of the humanoid robot 10 in the forward direction of the self-balancing scooter, as well as the linear velocity of the target two-wheeled self-balancing scooter in the forward direction of the self-balancing scooter. The waist linear acceleration in the forward direction of the self-balancing scooter can be measured by the IMU (Inertial Measurement Unit) unit installed on the waist of the humanoid robot 10, which is included in the sensing unit 14. Then, the actual riding speed is estimated by integrating the measured waist linear acceleration and using the rotation matrix. Figure 7 In This can be used to represent the actual riding acceleration of the humanoid robot 10 in the direction of travel of the self-balancing scooter, and also to represent the waist movement acceleration (or center of mass movement acceleration) of the humanoid robot 10 in the direction of travel of the self-balancing scooter, as well as the linear acceleration of the target two-wheeled self-balancing scooter in the direction of travel of the self-balancing scooter. In one embodiment of this example, x can be used to represent the actual waist position (i.e., the actual center of mass position) of the humanoid robot 10 in the direction of travel of the self-balancing scooter.
[0093] at the same time, Figure 7 θ in the figure can be used to represent the pitch angle of the center of mass of the humanoid robot 10, and can also be used to represent the pitch angle of the foot pedal platform of the target two-wheeled balance vehicle. The pitch angle measured by the above IMU unit can be combined with the pitch angles of the hip joint, knee joint and ankle joint to perform angle superposition calculation to obtain the pitch angle of the center of mass. Figure 7 In It can be used to represent the pitch angular velocity of the center of mass of the humanoid robot 10, and can also be used to represent the pitch angular velocity of the foot pedal platform of the target two-wheeled self-balancing vehicle.
[0094] And for Figure 7In the case of the wheeled inverted pendulum model shown, the expected riding speed is the expected speed of the humanoid robot 10 and the target two-wheeled balance vehicle in the direction of the balance vehicle's forward movement (including the waist movement speed, center of mass movement speed and balance vehicle linear speed, which are all of the same value). Its value can be 0, a positive number that is not 0, or a negative number that is not 0.
[0095] Wherein, if the desired riding speed is 0, it indicates that the humanoid robot 10 and the target two-wheeled self-balancing scooter are expected to remain stationary in the direction of travel of the self-balancing scooter. The corresponding desired pitch angle and pitch velocity are 0. In this case, the robot's center of mass should be directly above the target two-wheeled self-balancing scooter, and the humanoid robot 10 should be in a vertical standing position on the target two-wheeled self-balancing scooter. If the desired riding speed is positive, it indicates that the humanoid robot 10 and the target two-wheeled self-balancing scooter are expected to maintain forward motion in the direction of travel of the self-balancing scooter. The corresponding desired pitch angle and pitch velocity are large. When the desired center of mass is 0, the robot's center of mass moves forward, and the two wheels of the target two-wheeled balancing vehicle accelerate forward under the action of the humanoid robot 10, aiming to restore the robot's center of mass to directly above the target two-wheeled balancing vehicle. If the desired riding speed is negative, it indicates that the humanoid robot 10 and the target two-wheeled balancing vehicle are currently expected to maintain a backward motion in the forward direction of the balancing vehicle. The corresponding desired center of mass pitch angle and center of mass pitch velocity are less than 0. At this time, the robot's center of mass moves backward, and the two wheels of the target two-wheeled balancing vehicle accelerate backward under the action of the humanoid robot 10, aiming to restore the robot's center of mass to directly above the target two-wheeled balancing vehicle.
[0096] Specifically, when the target two-wheeled self-balancing scooter is a legless self-balancing scooter, if the robot's center of mass moves forward, the pressure detected by pressure sensors 1 and 2 will be greater than the pressure detected by pressure sensors 3 and 4, and the pressure detected by pressure sensors 5 and 6 will also be greater than the pressure detected by pressure sensors 7 and 8, causing both wheels to accelerate forward simultaneously. If the robot's center of mass moves backward, the pressure detected by pressure sensors 1 and 2 will be less than the pressure detected by pressure sensors 3 and 4, and the pressure detected by pressure sensors 5 and 6 will also be less than the pressure detected by pressure sensors 7 and 8, causing both wheels to accelerate backward simultaneously.
[0097] Step S220: Based on the actual riding speed, desired riding speed, center of mass pitch angle, and center of mass pitch angular velocity, calculate the desired waist position required for the humanoid robot-driven target two-wheeled self-balancing vehicle to maintain balance at the desired riding speed.
[0098] In this embodiment, to ensure that the humanoid robot 10 maintains balance while driving different types of target two-wheeled self-balancing vehicles at the desired riding speed, it is necessary to consider the humanoid robot 10 and the target two-wheeled self-balancing vehicle as a whole system. This whole system must maintain good riding balance under various motion states (e.g., stationary, forward, or backward) in the forward direction of the self-balancing vehicle. Therefore, a balance control law equation can be set to describe the balance of motion parameters when the humanoid robot 10 and the target two-wheeled self-balancing vehicle maintain riding balance in the forward direction of the self-balancing vehicle. Thus, after obtaining the actual riding speed, the desired riding speed, the center of gravity pitch angle, and the center of gravity pitch angular velocity, the humanoid robot 10 can predict the desired waist position in the forward direction of the self-balancing vehicle by calling the balance control law equation. This desired waist position ensures the riding balance between the humanoid robot 10 and the target two-wheeled self-balancing vehicle.
[0099] Optionally, in one embodiment of this example, the motion parameters involved in the above-mentioned balance control law equation may include the actual riding speed, the desired riding speed, the center of gravity pitch angle, the center of gravity pitch angular velocity, and the desired waist acceleration. Then, the specific steps of step S220 may include:
[0100] Obtain the balance control law equations required for the humanoid robot 10 and the target two-wheeled self-balancing vehicle to maintain riding balance;
[0101] Substituting the actual riding speed, the desired riding speed, the center of mass pitch angle, and the center of mass pitch angular velocity into the balance control law equation, the equation is solved to obtain the desired waist acceleration required for the humanoid robot 10 to maintain riding balance in the forward direction of the balance vehicle, wherein the desired waist acceleration corresponds to the desired riding speed.
[0102] The desired waist acceleration is integrated twice to obtain the desired waist position of the humanoid robot in the forward direction of the self-balancing vehicle.
[0103] In this process, the equilibrium control law equation is expressed as follows:
[0104]
[0105] Among them, v des The value 'v' represents the expected riding speed of the humanoid robot in the direction of travel of the self-balancing scooter, 'v' represents the actual riding speed of the humanoid robot in the direction of travel of the self-balancing scooter, and 'θ' represents the pitch angle of the humanoid robot's center of mass. Used to represent the pitch angular velocity of the center of mass of the humanoid robot. K is used to represent the desired waist acceleration of the humanoid robot in the direction of travel of the self-balancing scooter, corresponding to the desired riding speed. p K is used to represent the angle control parameters related to centroid pitch change operations. d K is used to represent the angular velocity control parameter related to the pitch change operation of the center of gravity. v Used to represent linear speed control parameters related to changes in the moving speed of the self-balancing scooter.
[0106] Therefore, by executing the specific steps of step S220 above, this application can ensure that the humanoid robot 10 and different types of target two-wheeled balance vehicles can maintain riding balance under the action of the corresponding desired waist position, and drive the target two-wheeled balance vehicle to move as close as possible to the desired riding speed.
[0107] Step S230: Based on the actual waist position and actual riding speed, perform compliant adjustment on the desired waist position to obtain the target waist position required for the humanoid robot to maintain a stable standing state on the target two-wheeled balance vehicle.
[0108] In this embodiment, the desired waist position determined by the humanoid robot 10 is obtained directly through a double integral calculation based on the desired waist acceleration. However, considering the humanoid robot 10's need for stable standing on the target self-balancing vehicle, and the fact that waist posture adjustment based directly on the double integral result is not smooth, the humanoid robot 10, after obtaining the desired waist position, performs a smooth adjustment process based on a conventional compliant control algorithm. This ensures that the final target waist position maintains stable standing on the target self-balancing vehicle while ensuring riding balance between the humanoid robot 10 and the target self-balancing vehicle, preventing the humanoid robot 10 from falling off the target self-balancing vehicle, and making the corresponding waist posture adjustment operation more natural and smooth. The conventional compliant control algorithm can be, but is not limited to, impedance control algorithms, admittance control algorithms, force / position hybrid control algorithms, adaptive control algorithms, fuzzy compliant control algorithms, etc.
[0109] In one embodiment of this invention, a linear inverted pendulum algorithm considering the zero torque point can be used to achieve the compliant adjustment operation. In this case, the specific steps of step S230 may include:
[0110] The zero-torque point position of the humanoid robot 10 on the target two-wheeled self-balancing vehicle is obtained, as well as the initial waist position of the humanoid robot 10 in the forward direction of the self-balancing vehicle when it is standing stably on the target two-wheeled self-balancing vehicle in a stationary state.
[0111] The zero torque point position, the actual waist position, the actual riding speed, and the desired waist position are substituted into the waist acceleration correction equation corresponding to the stable standing state for equation solving to obtain the target waist acceleration required for the humanoid robot 10 to maintain a stable standing state.
[0112] Based on the expected velocity of the center of mass of the humanoid robot 10 in the direction of travel of the self-balancing vehicle at the previous moment and the target waist acceleration corresponding to the current moment, the waist position compliance prediction is performed based on the linear inverted pendulum model matched with the humanoid robot 10, and the waist correction position of the humanoid robot 10 in the direction of travel of the self-balancing vehicle is obtained.
[0113] The initial waist position and the corrected waist position are superimposed to obtain the target waist position of the humanoid robot 10 in the forward direction of the self-balancing vehicle.
[0114] In this process, the waist acceleration correction equation is expressed as follows:
[0115]
[0116] Where, x des The variable x represents the desired waist position of the humanoid robot 10 in the direction of travel of the self-balancing scooter, and the variable p represents the positional component of the zero-torque point in the direction of travel of the self-balancing scooter. This is used to indicate the actual riding speed of the humanoid robot 10 in the direction of travel of the self-balancing scooter. K is used to represent the target waist acceleration of the humanoid robot 10 in the direction of travel of the self-balancing scooter. xp K is used to represent the position control parameters related to waist position change operations. xd K is used to represent the linear velocity control parameter related to waist position change operations. xz Used to represent position control parameters associated with the zero torque point.
[0117] In this process, regarding the initial position of the waist, this can be achieved by setting both the pitch angle and the pitch velocity of the center of mass to zero (i.e., θ = 0). The humanoid robot 10 is considered to be standing vertically on the target two-wheeled self-balancing scooter (x=0), which serves as a balance point for the overall system of the humanoid robot 10 and the target two-wheeled self-balancing scooter. This conclusion is based on the assumption that when the robot stands vertically on the scooter, its center of mass is directly above the scooter's wheel axle. However, since it is impossible to guarantee that the humanoid robot 10 maintains the same position each time it steps on the target two-wheeled self-balancing scooter, and the robot's center of mass is difficult to measure accurately, the above assumption is often difficult to achieve. In this case, the actual waist position of the humanoid robot 10 can be adjusted each time it steps on the target two-wheeled self-balancing scooter to ensure that the humanoid robot 10 stably reaches the vertical standing state corresponding to the aforementioned balance point. The adjusted actual waist position is then the initial waist position.
[0118] In this process, for the linear inverted pendulum model matched with the humanoid robot 10, the prediction equation for the center-of-mass velocity at the current moment, considering the position of the zero torque point, can be expressed as:
[0119]
[0120] The equation for predicting the centroid position at the current moment can be expressed as:
[0121]
[0122] in, This is used to represent the expected acceleration of the center of mass of the humanoid robot 10 in the direction of travel of the self-balancing vehicle at time t. This is used to represent the expected velocity of the center of mass of the humanoid robot 10 in the direction of travel of the self-balancing vehicle at time t. The expression is used to represent the expected velocity of the humanoid robot 10's center of mass in the direction of the self-balancing vehicle at time t-1, Δt represents the time length between two adjacent times, z represents the height of the center of mass corresponding to the linear inverted pendulum model, g represents the gravitational acceleration, and x(t) represents the expected position of the humanoid robot 10's center of mass in the direction of the self-balancing vehicle at time t.
[0123] Therefore, this application can substitute the target waist acceleration corresponding to the current moment as the expected movement acceleration of the center of mass into the above two prediction equations, and combine the historical expected velocity of the center of mass of the humanoid robot 10 in the direction of the balance vehicle's forward movement at the previous moment to solve the equations, so as to obtain the expected velocity and expected position of the center of mass of the humanoid robot 10 at the current moment, and use the expected position of the center of mass corresponding to the current moment as the waist correction position.
[0124] Therefore, by executing the specific steps and processes included in step S230 above, this application ensures that the final target waist position can maintain the riding balance between the humanoid robot 10 and the target two-wheeled balance vehicle, so that the humanoid robot 10 can maintain a stable standing state on the target two-wheeled balance vehicle, avoid the humanoid robot 10 falling off the target two-wheeled balance vehicle, and at the same time make the corresponding waist posture adjustment operation more natural and smooth.
[0125] Step S240: Solve the robot's inverse kinematics based on the target waist position, and control the humanoid robot to adjust its pose according to the obtained inverse kinematics solution.
[0126] In this embodiment, after the humanoid robot 10 calculates the target waist position, it can perform inverse kinematics calculation based on the target waist position to obtain the corresponding inverse kinematics solution result. Based on the inverse kinematics solution result, it generates joint control commands adapted to the humanoid robot 10. Then, according to the joint control commands, it adjusts the joint states of each drivable joint of the humanoid robot 10 to adjust the posture of the humanoid robot 10 on the target two-wheeled balance vehicle. This moves the actual waist position of the humanoid robot 10 in the forward direction of the balance vehicle to the target waist position, thereby driving the target two-wheeled balance vehicle to achieve stable forward and backward movement or stationary position in the forward direction of the balance vehicle. Furthermore, it effectively maintains the riding balance between the target two-wheeled balance vehicle and the humanoid robot 10 during the riding process, preventing the humanoid robot 10 from falling off the target two-wheeled balance vehicle.
[0127] If the humanoid robot 10 is a force-controlled redundant robot, the corresponding inverse kinematics solution can be characterized by joint acceleration. The inverse kinematics solution can be processed by the robot dynamics model to obtain joint control commands for joint torque. If the humanoid robot 10 is a position-controlled redundant robot, the corresponding inverse kinematics solution is usually characterized by joint angular velocity. The inverse kinematics solution can be integrated to obtain joint control commands for joint angle.
[0128] Therefore, by executing the above steps S210 to S2140, this application ensures that the humanoid robot 10 can drive different types of target two-wheeled balance vehicles to achieve stable forward and backward movement or stationary position in the forward direction of the balance vehicle, and effectively maintain the riding balance of the two-wheeled balance vehicle during the riding process, preventing the humanoid robot 10 from falling off the target two-wheeled balance vehicle. In order to improve the movement speed of the humanoid robot 10 by using the target two-wheeled balance vehicle, the riding stability and riding balance of the humanoid robot 10 during the riding process of the two-wheeled balance vehicle are effectively improved.
[0129] In this application, when the target two-wheeled self-balancing scooter is a two-wheeled self-balancing scooter with leg control levers, in order to ensure that the humanoid robot 10 can drive the target two-wheeled self-balancing scooter to achieve a stable stationary turning effect or turning movement effect, and to effectively maintain the riding balance of the two-wheeled self-balancing scooter during riding, and prevent the humanoid robot 10 from falling off the target two-wheeled self-balancing scooter, this application embodiment achieves the aforementioned objective by providing a second robot movement control method. The second robot movement control method provided in this application will be described in detail below, wherein the second robot movement control method is a further evolution of the first robot movement control method.
[0130] Please refer to Figure 8 , Figure 8 This is a second schematic flowchart of the robot movement control method provided in this application embodiment. In this application embodiment, [the method is]... Figure 6 Compared to the robot movement control method shown, Figure 8 The robot movement control method shown also includes steps S250 to S260.
[0131] Step S250: Obtain the current expected turning angular velocity of the humanoid robot, and calculate the current expected lateral displacement position of the waist of the humanoid robot in the lateral displacement direction of the self-balancing vehicle based on the expected turning angular velocity.
[0132] In this embodiment, for a two-wheeled self-balancing scooter with a leg control lever, the humanoid robot 10 on the scooter can be turned by changing its waist position in the lateral movement direction, causing its leg structure to contact the leg control lever, thereby rotating the leg control lever and achieving the steering action of the two-wheeled self-balancing scooter. Figure 9 For example, when the waist of the humanoid robot 10 is in the negative Y-axis direction (i.e. Figure 9 When the humanoid robot 10 moves to the right (in the direction of the Y-axis), the inside of its left leg will touch the leg control lever, rotating the lever in the negative Y-axis direction. At this time, the right wheel of the balance scooter accelerates backward, and the left wheel accelerates forward, causing the target two-wheeled balance scooter to turn to the right. Conversely, when the waist of the humanoid robot 10 moves in the positive Y-axis direction (i.e., the right wheel moves to the right), the left wheel moves to the right. Figure 9 When the robot moves to the left (in the left direction), the inside of the right leg of the humanoid robot 10 will touch the leg control lever and rotate the leg control lever in the positive direction of the Y axis. At this time, the right wheel of the balance bike accelerates forward and the left wheel of the balance bike accelerates backward, and the target two-wheel balance bike will turn to the left.
[0133] Therefore, based on the aforementioned steering principle of the self-balancing scooter, the steering control law equation adapted to the two-wheeled self-balancing scooter with leg control levers can be designed for the humanoid robot 10 as follows:
[0134]
[0135] Among them, y des This is used to indicate the desired lateral displacement position of the waist of the humanoid robot 10 in the lateral displacement direction of the self-balancing vehicle. K1 represents the desired steering angular velocity of the humanoid robot 10, and K1 represents the first control parameter related to the steering operation of the self-balancing scooter. Specifically, if the desired steering angular velocity is 0, the target two-wheeled self-balancing scooter will not need to perform a steering operation; if the desired steering angular velocity is positive, the target two-wheeled self-balancing scooter will turn left (i.e., rotate counterclockwise around the Z-axis); if the desired steering angular velocity is negative, the target two-wheeled self-balancing scooter will turn right (i.e., rotate clockwise around the Z-axis).
[0136] Step S260: Based on the target waist position corresponding to the forward direction of the self-balancing vehicle and the expected lateral displacement position of the waist corresponding to the lateral displacement direction of the self-balancing vehicle, the robot inverse kinematics is solved, and the humanoid robot is controlled to adjust its pose according to the obtained inverse kinematics solution.
[0137] The target waist position corresponding to the forward direction of the self-balancing scooter can be calculated using steps S210 to S230 above. If the desired riding speed corresponding to the target waist position is 0, the humanoid robot 10 can refer to step S240 above and execute step S260 accordingly to ensure that the target two-wheeled self-balancing scooter achieves a stable turning effect in place. If the desired riding speed corresponding to the target waist position is not 0, the humanoid robot 10 can refer to step S240 above and execute step S260 accordingly to ensure that the target two-wheeled self-balancing scooter achieves a stable turning effect.
[0138] Therefore, by executing the above steps S250 to S260, this application ensures that the humanoid robot 10 can drive the target two-wheeled balance vehicle with leg control rod to achieve a stable stationary turning effect or turning movement effect, and effectively maintain the riding balance of the two-wheeled balance vehicle during riding, preventing the humanoid robot 10 from falling off the target two-wheeled balance vehicle. In this way, while improving the movement flexibility of the humanoid robot 10 through the target two-wheeled balance vehicle, the riding stability and riding balance of the humanoid robot 10 during the riding of the two-wheeled balance vehicle are effectively improved.
[0139] In this application, when the target two-wheeled self-balancing scooter is a legless two-wheeled self-balancing scooter, in order to ensure that the humanoid robot 10 can drive the target two-wheeled self-balancing scooter to achieve a stable stationary turning effect or turning movement effect, and to effectively maintain the riding balance of the two-wheeled self-balancing scooter during riding, and prevent the humanoid robot 10 from falling off the target two-wheeled self-balancing scooter, this application embodiment achieves the aforementioned objective by providing a third robot movement control method. The third robot movement control method provided by this application will be described in detail below, wherein the third robot movement control method is a further evolution of the first robot movement control method.
[0140] Please refer to Figure 10 , Figure 10 This is the third flowchart illustrating the robot movement control method provided in this application embodiment. In this application embodiment, [the method is related to...]. Figure 6 Compared to the robot movement control method shown, Figure 10 The robot movement control method shown also includes steps S270 to S280.
[0141] Step S270: Obtain the current desired turning angular velocity of the humanoid robot, and calculate the desired pitch angle of each of the humanoid robot's two ankle joints that matches the desired turning angular velocity based on the desired turning angular velocity.
[0142] In this embodiment, for a two-wheeled self-balancing scooter without leg levers, the steering action of the scooter can be achieved by adjusting the foot posture of the humanoid robot 10 on the scooter. Figure 11 For example, when the pitch angle of the left foot of the humanoid robot 10 increases (i.e., the toes point downwards and the heel is raised), the pressure on pressure sensors 1 and 2 is greater than the pressure on pressure sensors 3 and 4. At this time, the left wheel of the self-balancing scooter will generate forward acceleration. At the same time, when the pitch angle of the right foot of the humanoid robot 10 decreases (i.e., the toes point upwards and the heel points downwards), the pressure on pressure sensors 5 and 6 is less than the pressure on pressure sensors 7 and 8. At this time, the right wheel of the self-balancing scooter will generate backward acceleration. Based on this, the difference in acceleration between the two wheels generated by the posture of the left and right feet will cause the two-wheeled self-balancing scooter to turn to the right.
[0143] Conversely, when the pitch angle of the left foot of the humanoid robot 10 decreases (i.e., the toes are raised and the heels are lowered), the pressure on pressure sensors 1 and 2 is less than the pressure on pressure sensors 3 and 4. At this time, the left wheel of the self-balancing scooter will generate a backward acceleration. At the same time, when the pitch angle of the right foot of the humanoid robot 10 decreases (i.e., the toes are lowered and the heels are raised), the pressure on pressure sensors 5 and 6 is greater than the pressure on pressure sensors 7 and 8. At this time, the right wheel of the self-balancing scooter will generate a forward acceleration. Based on this, the difference in acceleration between the two wheels generated by the left and right foot postures will cause the two-wheeled self-balancing scooter to turn to the left.
[0144] Therefore, based on the aforementioned steering principle of the self-balancing scooter, the steering control law equation adapted to the legless control lever two-wheeled self-balancing scooter of the humanoid robot 10 can be designed as follows:
[0145]
[0146] in, This is used to indicate the desired pitch angle of the left ankle joint of the humanoid robot 10, which can be used to adjust the pitch angle of the left foot of the humanoid robot 10; This is used to represent the desired pitch angle of the right ankle joint of the humanoid robot 10, and it can be used to adjust the pitch angle of the right foot of the humanoid robot 10. K2 represents the desired steering angular velocity of the humanoid robot 10, and K2 represents a second control parameter related to the steering operation of the self-balancing scooter. Specifically, if the desired steering angular velocity is 0, the target two-wheeled self-balancing scooter will not need to perform a steering operation; if the desired steering angular velocity is positive, the target two-wheeled self-balancing scooter will turn left (i.e., rotate counterclockwise around the Z-axis); if the desired steering angular velocity is negative, the target two-wheeled self-balancing scooter will turn right (i.e., rotate clockwise around the Z-axis).
[0147] Step S280: Based on the target waist position corresponding to the forward direction of the self-balancing vehicle and the expected pitch angles of the ankle joints of the humanoid robot's two legs, the robot's inverse kinematics is solved, and the humanoid robot's pose is adjusted according to the obtained inverse kinematics solution.
[0148] The target waist position corresponding to the forward direction of the self-balancing scooter can be calculated using steps S210 to S230 above. If the desired riding speed corresponding to the target waist position is 0, the humanoid robot 10 can refer to step S240 above and execute step S280 accordingly to ensure that the target two-wheeled self-balancing scooter achieves a stable turning effect in place. If the desired riding speed corresponding to the target waist position is not 0, the humanoid robot 10 can refer to step S240 above and execute step S280 accordingly to ensure that the target two-wheeled self-balancing scooter achieves a stable turning movement effect.
[0149] Therefore, by executing the above steps S270 to S280, this application ensures that the humanoid robot 10 can drive the target two-wheeled balance vehicle without a leg control stick to achieve a stable stationary turning effect or turning movement effect, and effectively maintain the riding balance of the two-wheeled balance vehicle during riding, preventing the humanoid robot 10 from falling off the target two-wheeled balance vehicle. In this way, while improving the movement flexibility of the humanoid robot 10 through the target two-wheeled balance vehicle, the riding stability and riding balance of the humanoid robot 10 during the riding of the two-wheeled balance vehicle are effectively improved.
[0150] In this application, to ensure that the humanoid robot 10 does not slip off the target two-wheeled balance vehicle during the balance vehicle riding process, so as to effectively maintain the stable standing state of the humanoid robot 10 on the target two-wheeled balance vehicle, this application embodiment achieves the aforementioned objective by providing a fourth robot movement control method. The fourth robot movement control method provided by this application is described in detail below, wherein the fourth robot movement control method is a further evolution of the first robot movement control method, the second robot movement control method, or the third robot movement control method.
[0151] Please refer to Figure 12 , Figure 12 This is the fourth flowchart illustrating the robot movement control method provided in this application embodiment. In this application embodiment, [the method is related to...]. Figure 6 , Figure 8 or Figure 10 Compared to the robot movement control method shown, Figure 12 The robot movement control method shown may also include steps S290 to S2110.
[0152] Step S290: Detect whether the target force applied by the target two-wheeled self-balancing vehicle to the sole of the humanoid robot's foot satisfies the contact surface friction cone constraint condition.
[0153] In this embodiment, Figure 7In the kinematic equivalent model shown, it is generally assumed that the robot's feet are rigidly connected to the surface of the scooter's seat, and no relative motion occurs. However, in actual use, the humanoid robot 10 simply stands on the foot pedal platform of the target two-wheeled scooter and is not fixedly connected to the foot pedal platform. Therefore, to ensure that the humanoid robot 10 does not slip off the target two-wheeled scooter, that is, to ensure that the robot's feet do not move relative to the surface of the target two-wheeled scooter's seat, the target force applied by the target two-wheeled scooter to the robot's feet of the humanoid robot 10 must satisfy the contact surface friction cone constraint condition.
[0154] The target force can include the horizontal force applied by the target two-wheeled balancing vehicle to the robot's foot in the horizontal direction, and the vertical force applied by the target two-wheeled balancing vehicle to the robot's foot in the vertical direction. In this case, the contact surface friction cone constraint condition can be expressed as:
[0155]
[0156] Among them, F N F is used to represent the vertical force applied by the target two-wheeled self-balancing vehicle to the robot's feet. T μ represents the horizontal force applied by the target two-wheeled self-balancing vehicle to the robot's foot, and μ represents the static friction coefficient between the robot's foot and the target two-wheeled self-balancing vehicle.
[0157] In step S2110, if the target force is detected to be not satisfied with the contact surface friction cone constraint condition, the humanoid robot is controlled to adjust the actual position of its waist towards the target direction of the two-wheeled self-balancing vehicle, wherein the target direction is parallel to the forward direction of the self-balancing vehicle.
[0158] In this embodiment, when the target force is detected to not meet the above-mentioned contact surface friction cone constraint condition, it indicates that the humanoid robot 10 will slide off the target two-wheeled balance vehicle. At this time, in order to prevent the humanoid robot 10 from sliding off the target two-wheeled balance vehicle, it is necessary to adjust the actual position of the waist of the humanoid robot 10 in the opposite direction to the tilt direction of the body so that the humanoid robot 10 can stand stably on the target two-wheeled balance vehicle.
[0159] Specifically, the humanoid robot 10 can be controlled to adjust its actual waist position towards a target direction that points towards the target two-wheeled self-balancing scooter and is parallel to the scooter's forward direction. This yields the desired waist position of the humanoid robot 10 at a corresponding moment in the scooter's forward direction. This desired waist position is then used to replace the target waist position in step S240, thereby executing the specific steps of step S240 to adjust the humanoid robot 10's posture and ensure its stable standing on the target two-wheeled self-balancing scooter. During this process, if the actual waist position of the humanoid robot 10 is tilted forward relative to the Z-axis (e.g., ...), ... Figure 7 As shown), the target direction is the direction opposite to the forward direction of the self-balancing scooter (i.e., Figure 7 The negative X-axis direction); if the actual position of the waist of the humanoid robot 10 is tilted backward relative to the Z-axis, then the target direction is the same as the forward direction of the self-balancing vehicle (i.e., the negative X-axis direction); Figure 7 (positive X-axis direction).
[0160] Therefore, by executing the above steps S290 to S2110, this application can ensure that the humanoid robot 10 will not slip off the target two-wheeled balance vehicle during the balance vehicle ride, so as to effectively maintain the stable standing state of the humanoid robot 10 on the target two-wheeled balance vehicle.
[0161] In this application, to ensure that the humanoid robot 10 can effectively execute any of the robot movement control methods described above, this application implements the aforementioned functions by dividing the robot movement control device 100 stored in the humanoid robot 10 into functional modules. The specific composition of the robot movement control device 100 applied to the aforementioned humanoid robot 10, provided in this application, will be described below.
[0162] Please refer to Figure 13 , Figure 13 This is one of the schematic diagrams of the robot motion control device 100 provided in the embodiments of this application. In the embodiments of this application, the robot motion control device 100 may include a motion parameter acquisition module 110, a waist position calculation module 120, a waist position adjustment module 130, and a body posture adjustment module 140.
[0163] The motion parameter acquisition module 110 is used to acquire the humanoid robot's current actual riding speed, actual waist position and expected riding speed in the direction of travel of the balance vehicle, as well as the humanoid robot's current center of mass pitch angle and center of mass pitch velocity.
[0164] The waist position calculation module 120 is used to calculate the desired waist position required for the humanoid robot-driven target two-wheeled self-balancing vehicle to maintain balance at the desired riding speed, based on the actual riding speed, desired riding speed, center of mass pitch angle, and center of mass pitch angular velocity.
[0165] The waist position adjustment module 130 is used to perform compliant adjustment of the desired waist position according to the actual waist position and the actual riding speed, so as to obtain the target waist position required for the humanoid robot to maintain a stable standing state on the target two-wheeled balance vehicle.
[0166] The body pose adjustment module 140 is used to perform inverse kinematics solution of the robot based on the target waist position, and control the humanoid robot to adjust its pose according to the corresponding inverse kinematics solution results.
[0167] Alternatively, please refer to Figure 14 , Figure 14 This is a second schematic diagram of the robot motion control device 100 provided in this application embodiment. In this application embodiment, the robot motion control device 100 may further include a steering parameter calculation module 150 and a friction constraint detection module 160.
[0168] The steering parameter calculation module 150 is used to obtain the current desired steering angular velocity of the humanoid robot, and when the target two-wheeled self-balancing vehicle is a two-wheeled self-balancing vehicle with leg control rods, it calculates the current desired lateral displacement position of the humanoid robot's waist in the lateral displacement direction of the self-balancing vehicle based on the desired steering angular velocity, or when the target two-wheeled self-balancing vehicle is a two-wheeled self-balancing vehicle without leg control rods, it calculates the desired pitch angle of each of the humanoid robot's two ankle joints that matches the desired steering angular velocity based on the desired steering angular velocity.
[0169] The body posture adjustment module 140 is further used to perform robot inverse kinematics solution based on the target waist position corresponding to the forward direction of the balance vehicle and the desired lateral displacement position of the waist corresponding to the lateral displacement direction of the balance vehicle when the target two-wheel balance vehicle is a two-wheel balance vehicle with leg control sticks, or to perform robot inverse kinematics solution based on the target waist position corresponding to the forward direction of the balance vehicle and the desired pitch angles of the ankle joints of the humanoid robot's two legs when the target two-wheel balance vehicle is a two-wheel balance vehicle without leg control sticks, and then control the humanoid robot to perform posture adjustment according to the corresponding inverse kinematics solution results.
[0170] The friction constraint detection module 160 is used to detect whether the target force applied by the target two-wheeled balance vehicle to the robot foot of the humanoid robot satisfies the contact surface friction cone constraint condition.
[0171] The waist position adjustment module 130 is also used to control the humanoid robot to adjust the actual waist position toward the target direction of the target two-wheeled balance vehicle when the friction constraint detection module 160 detects that the target force does not meet the contact surface friction cone constraint condition, wherein the target direction is parallel to the forward direction of the balance vehicle.
[0172] It should be noted that the robot motion control device 100 provided in this embodiment has the same basic principle and technical effects as the aforementioned robot motion control method. For the sake of brevity, any parts not mentioned in this embodiment can be referred to the above description of the robot motion control method.
[0173] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0174] Furthermore, the functional modules in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part. If the various functions provided in this application are implemented in the form of software functional modules and sold or used as independent products, they can be stored in a storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, including several instructions to cause the humanoid robot 10 riding on different types of target two-wheeled balance vehicles to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned readable storage medium includes: USB flash drives, mobile hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks, and other media capable of storing program code.
[0175] In summary, in the robot movement control method and device, humanoid robot, and readable storage medium provided in the embodiments of this application, when the humanoid robot is riding on different types of target two-wheeled balance vehicles, this application adjusts the humanoid robot's posture on the target two-wheeled balance vehicle to drive the target two-wheeled balance vehicle to achieve any one of the riding motion effects such as stable forward and backward movement, stationary standing, turning in place, and turning movement. At the same time, it effectively maintains the riding balance between the target two-wheeled balance vehicle and the humanoid robot. Thus, while improving the humanoid robot's movement speed and mobility through the two-wheeled balance vehicle, it effectively improves the humanoid robot's riding stability and balance during the riding process, preventing the humanoid robot from falling off the target two-wheeled balance vehicle and ensuring that the humanoid robot stands stably on the target two-wheeled balance vehicle.
[0176] The above descriptions are merely various embodiments 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 technical scope 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 robot movement control method, characterized in that, A method for using a humanoid robot riding a target two-wheeled self-balancing scooter includes: The actual riding speed, waist position, and desired riding speed of the humanoid robot in the direction of travel of the balance vehicle are obtained, as well as the current pitch angle and pitch velocity of the humanoid robot's center of mass. Based on the actual riding speed, the desired riding speed, the center of mass pitch angle, and the center of mass pitch angular velocity, calculate the desired waist position required for the humanoid robot to maintain balance at the desired riding speed while driving the target two-wheeled balance vehicle. Based on the actual waist position and the actual riding speed, the desired waist position is adjusted to obtain the target waist position required for the humanoid robot to maintain a stable standing state on the target two-wheeled balance vehicle. Based on the target waist position, the robot's inverse kinematics is solved, and the humanoid robot's pose is adjusted according to the corresponding inverse kinematics solution results. The step of performing a smooth adjustment of the desired waist position based on the actual waist position and the actual riding speed to obtain the target waist position required for the humanoid robot to maintain a stable standing state on the target two-wheeled balance vehicle includes: The zero-torque point position of the humanoid robot on the target two-wheeled self-balancing vehicle is obtained, as well as the initial waist position of the humanoid robot in the forward direction of the self-balancing vehicle when it is standing stably on the target two-wheeled self-balancing vehicle in a stationary state. The zero torque point position, the actual waist position, the actual riding speed, and the desired waist position are substituted into the waist acceleration correction equation corresponding to the stable standing state for equation solving to obtain the target waist acceleration required for the humanoid robot to maintain a stable standing state. Based on the expected velocity of the humanoid robot's center of mass in the direction of travel of the self-balancing vehicle at the previous moment and the target waist acceleration corresponding to the current moment, the waist position compliance prediction is performed based on the linear inverted pendulum model matched with the humanoid robot, and the corrected waist position of the humanoid robot in the direction of travel of the self-balancing vehicle is obtained. The initial waist position and the corrected waist position are superimposed to obtain the target waist position of the humanoid robot in the direction of travel of the self-balancing vehicle; The waist acceleration correction equation is expressed as follows: ; in, This is used to indicate the desired waist position of the humanoid robot in the direction of travel of the self-balancing scooter. This indicates the actual position of the humanoid robot's waist in the direction of travel of the self-balancing scooter. This is used to represent the positional component of the zero torque point location in the forward direction of the self-balancing vehicle. This is used to indicate the actual riding speed of the humanoid robot in the direction of travel of the self-balancing scooter. This is used to represent the target waist acceleration of the humanoid robot in the direction of travel of the self-balancing scooter. Used to represent position control parameters related to waist position change operations. Used to represent linear velocity control parameters related to waist position change operations. Used to represent position control parameters associated with the zero torque point.
2. The method according to claim 1, characterized in that, The step of calculating the desired waist position required for the humanoid robot to maintain balance at the desired riding speed by driving the target two-wheeled self-balancing vehicle based on the actual riding speed, the desired riding speed, the center of gravity pitch angle, and the center of gravity pitch angular velocity includes: Obtain the balance control law equations required for the humanoid robot and the target two-wheeled self-balancing vehicle to maintain riding balance; Substituting the actual riding speed, the desired riding speed, the center of mass pitch angle, and the center of mass pitch angular velocity into the balance control law equation, the equation is solved to obtain the desired waist acceleration required for the humanoid robot to maintain riding balance in the forward direction of the balance vehicle, wherein the desired waist acceleration corresponds to the desired riding speed. The desired waist acceleration is integrated twice to obtain the desired waist position of the humanoid robot in the forward direction of the self-balancing vehicle.
3. The method according to claim 2, characterized in that, The equilibrium control law equation is expressed as follows: ; in, Used to represent the expected riding speed of the humanoid robot in the direction of travel of the self-balancing scooter. This is used to indicate the actual riding speed of the humanoid robot in the direction of travel of the self-balancing scooter. Used to represent the pitch angle of the humanoid robot's center of mass. Used to represent the pitch angular velocity of the center of mass of the humanoid robot. This is used to represent the desired waist acceleration of the humanoid robot in the direction of travel of the self-balancing scooter, corresponding to the desired riding speed. Used to represent angle control parameters related to pitch control operations. Used to represent angular velocity control parameters related to pitch control operations. Used to represent linear speed control parameters related to changes in the moving speed of the self-balancing scooter.
4. The method according to any one of claims 1-3, characterized in that, When the target two-wheeled self-balancing vehicle is a two-wheeled self-balancing vehicle with a leg control bar, the method further includes: Obtain the current desired turning angular velocity of the humanoid robot, and calculate the current desired lateral displacement position of the waist of the humanoid robot in the lateral displacement direction of the self-balancing vehicle based on the desired turning angular velocity; The robot's inverse kinematics is solved based on the target waist position corresponding to the forward direction of the self-balancing scooter and the desired waist lateral displacement position corresponding to the lateral displacement direction of the self-balancing scooter. The humanoid robot is then controlled to adjust its pose based on the obtained inverse kinematics solution.
5. The method according to any one of claims 1-3, characterized in that, When the target two-wheeled self-balancing vehicle is a legless two-wheeled self-balancing vehicle, the method further includes: Obtain the current desired turning angular velocity of the humanoid robot, and calculate the desired pitch angle of each of the humanoid robot's two ankle joints that matches the desired turning angular velocity based on the desired turning angular velocity; Based on the target waist position corresponding to the forward direction of the self-balancing scooter and the desired pitch angles of the ankle joints of the humanoid robot's legs, the robot's inverse kinematics is solved, and the humanoid robot's pose is adjusted according to the obtained inverse kinematics solution.
6. The method according to any one of claims 1-3, characterized in that, The method further includes: Detect whether the target force applied by the target two-wheeled self-balancing vehicle to the sole of the humanoid robot's foot satisfies the contact surface friction cone constraint condition; If the target force is detected to be not satisfied with the contact surface friction cone constraint condition, the humanoid robot is controlled to adjust the actual position of the waist towards the target direction of the target two-wheeled self-balancing vehicle, wherein the target direction is parallel to the forward direction of the self-balancing vehicle.
7. A robot movement control device, characterized in that, A humanoid robot for use while riding a target two-wheeled self-balancing scooter, the device comprising: The motion parameter acquisition module is used to acquire the humanoid robot's current actual riding speed, actual waist position, and expected riding speed in the direction of travel of the balance vehicle, as well as the humanoid robot's current center of mass pitch angle and center of mass pitch angular velocity. The waist position calculation module is used to calculate the desired waist position required for the humanoid robot to maintain balance at the desired riding speed when driving the target two-wheeled balance vehicle, based on the actual riding speed, the desired riding speed, the center of gravity pitch angle, and the center of gravity pitch angular velocity. The waist position adjustment module is used to perform a smooth adjustment of the desired waist position based on the actual waist position and the actual riding speed, so as to obtain the target waist position required for the humanoid robot to maintain a stable standing state on the target two-wheeled balance vehicle. The body pose adjustment module is used to perform robot inverse kinematics solution based on the target waist position, and control the humanoid robot to adjust its pose according to the corresponding inverse kinematics solution results; The waist position adjustment module performs a smooth adjustment of the desired waist position based on the actual waist position and the actual riding speed to obtain the target waist position required for the humanoid robot to maintain a stable standing state on the target two-wheeled balance vehicle, including: The zero-torque point position of the humanoid robot on the target two-wheeled self-balancing vehicle is obtained, as well as the initial waist position of the humanoid robot in the forward direction of the self-balancing vehicle when it is standing stably on the target two-wheeled self-balancing vehicle in a stationary state. The zero torque point position, the actual waist position, the actual riding speed, and the desired waist position are substituted into the waist acceleration correction equation corresponding to the stable standing state for equation solving to obtain the target waist acceleration required for the humanoid robot to maintain a stable standing state. Based on the expected velocity of the humanoid robot's center of mass in the direction of travel of the self-balancing vehicle at the previous moment and the target waist acceleration corresponding to the current moment, the waist position compliance prediction is performed based on the linear inverted pendulum model matched with the humanoid robot, and the corrected waist position of the humanoid robot in the direction of travel of the self-balancing vehicle is obtained. The initial waist position and the corrected waist position are superimposed to obtain the target waist position of the humanoid robot in the direction of travel of the self-balancing vehicle; The waist acceleration correction equation is expressed as follows: ; in, This is used to indicate the desired waist position of the humanoid robot in the direction of travel of the self-balancing scooter. This indicates the actual position of the humanoid robot's waist in the direction of travel of the self-balancing scooter. This is used to represent the positional component of the zero torque point location in the forward direction of the self-balancing vehicle. This is used to indicate the actual riding speed of the humanoid robot in the direction of travel of the self-balancing scooter. This is used to represent the target waist acceleration of the humanoid robot in the direction of travel of the self-balancing scooter. Used to represent position control parameters related to waist position change operations. Used to represent linear velocity control parameters related to waist position change operations. Used to represent position control parameters associated with the zero torque point.
8. A humanoid robot, characterized in that, The humanoid robot rides on a target two-wheeled self-balancing vehicle, wherein the humanoid robot includes a processor and a memory; The memory stores a computer program that can be executed by the processor to implement the robot movement control method according to any one of claims 1-6.
9. A readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the humanoid robot riding on the target two-wheeled self-balancing vehicle, it implements the robot movement control method according to any one of claims 1-6.
Citation Information
Patent Citations
Two-wheeled longitudinal self-balancing robot and control system
CN106627894A
Guiding robot and method for controlling the same
JP2010271911A