Motion state control method, device, equipment and readable storage medium
By constructing the state matrix of the wheeled robot, the balance error is reflected and the control torque is determined based on this, the problem of difficulty in balancing control of the wheeled robot is solved, and the control stability and accuracy are improved.
Patent Information
- Application Number
- CN202110049662.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-14
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2041-01-14
AI Technical Summary
Due to the unstable structure of wheeled robots, there is a problem of difficulty in balancing control. The linearized model used in the prior art cannot effectively solve the equilibrium error caused by physical differences between the idealized model in practice.
By acquiring the basic data and motion state data of the wheeled robot, a state matrix is constructed, which reflects the equilibrium error of the robot, and based on this, the control torque is determined to stabilize the robot.
The control stability and accuracy of the wheeled robot are improved, and the robot can be effectively controlled to a stationary state.
Smart Images

Figure CN114764241B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present application relate to the field of robot control, and in particular, to a motion state control method, device, equipment, and readable storage medium. Background Art
[0002] A wheeled robot is a robot structure that uses a wheel structure to control the motion of the robot body. Since the contact points between the wheeled robot and the ground only include the contact points between the wheels and the ground, there is a problem of balance control when the wheeled structure itself is unstable. In related technologies, traditional linear models are usually used for control.
[0003] However, the related art does not take into account the physical differences between the actual wheeled robot and the idealized model. Due to installation errors or model approximation, the actual balance point may be different from the balance point in the ideal model, resulting in different wheel rotation torques required for balance control. Therefore, the above method cannot stably control the balance of the wheeled robot, and there is a problem of poor stability. Summary of the invention
[0004] The embodiments of the present application provide a motion state control method, device, equipment and readable storage medium, which can improve the control stability and accuracy of a wheel-legged robot. The technical solution is as follows:
[0005] On the one hand, a motion state control method is provided, which is applied to a wheeled robot, and the method comprises:
[0006] Acquire basic data and motion state data, wherein the basic data is used to represent the structural characteristics of the wheeled robot, and the motion state data is used to represent the motion characteristics of the wheeled robot;
[0007] Determining a state matrix of the wheeled robot based on the basic data and the motion state data, wherein the state matrix is related to an interference parameter of the wheeled robot, and the interference parameter corresponds to a balance error of the wheeled robot;
[0008] Determine a torque for controlling the wheeled robot based on the state matrix;
[0009] The wheeled robot is controlled to be in a stationary state by using the torque.
[0010] On the other hand, a control device for controlling the motion state of a wheeled robot is provided, the device comprising:
[0011] An acquisition module, used for acquiring basic data and motion state data, wherein the basic data is used for representing the structural characteristics of the wheeled robot, and the motion state data is used for representing the motion characteristics of the wheeled robot;
[0012] a determination module, configured to determine a state matrix of the wheeled robot based on the basic data and the motion state data, wherein the state matrix is related to an interference parameter of the wheeled robot, and the interference parameter corresponds to a balance error of the wheeled robot;
[0013] The determination module is further used to determine the torque for controlling the wheeled robot based on the state matrix;
[0014] The control module is used to control the wheeled robot to be in a stationary state by using the torque.
[0015] On the other hand, a wheeled robot is provided, comprising a processor and a memory, wherein at least one program is stored in the memory, and the at least one program is loaded and executed by the processor to implement a motion state control method as described in any of the above-mentioned embodiments of the present application.
[0016] On the other hand, a computer-readable storage medium is provided, in which at least one instruction, at least one program, a code set or an instruction set is stored, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by a processor to implement a method for controlling a motion state as described in any of the above-mentioned embodiments of the present application.
[0017] On the other hand, a computer program product or a computer program is provided, the computer program product or the computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the motion state control method described in any of the above embodiments.
[0018] The beneficial effects brought by the technical solution provided by the embodiment of the present application include at least:
[0019] Before determining the torque for controlling the wheeled robot, the state matrix that reflects the balance error of the robot is first determined, and then the torque for controlling the wheeled robot is determined based on the state matrix. The wheels of the wheeled robot are controlled by the torque, so that the wheeled robot is controlled to be in a stationary state, thereby improving the control accuracy of the wheeled robot with balance error. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0021] Figure 1 is a structural schematic diagram of a wheeled robot provided by an exemplary embodiment of the present application;
[0022] Figure 2 is a schematic diagram of the performance of a wheeled robot at different heights provided by an exemplary embodiment of the present application;
[0023] Figure 3 is a flow chart of a method for controlling a motion state provided by an exemplary embodiment of the present application;
[0024] Figure 4 is a flow chart of a method for controlling a motion state provided by another exemplary embodiment of the present application;
[0025] Figure 5 is a schematic diagram of a wheeled robot showing an experimental process provided by an exemplary embodiment of the present application;
[0026] Figure 6 is a graph comparing the measurement state of time-pitch angle with the observed value provided by an exemplary embodiment of the present application;
[0027] Figure 7 is a graph comparing an estimated value of time-pitch angular velocity with an actual value provided by an exemplary embodiment of the present application;
[0028] Figure 8 is a graph comparing an estimated value of time-displacement with an actual value provided by an exemplary embodiment of the present application;
[0029] Fig. 9 is a graph comparing an estimated value of time-line speed with an actual value provided by an exemplary embodiment of the present application;
[0030] Fig.10 is a graph of time-pitch angle error values provided by an exemplary embodiment of the present application;
[0031] Fig.11 is a structural block diagram of a motion state control device provided by an exemplary embodiment of the present application;
[0032] Fig.12 It is a structural block diagram of a terminal provided by an exemplary embodiment of the present application. DETAILED DESCRIPTION
[0033] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.
[0034] First, the terms involved in the embodiments of the present application are defined:
[0035] Wheeled robot: A wheeled robot is a robot structure that controls the motion of the robot body through a wheel structure. Since the contact points between the wheeled robot and the ground only include the contact points between the wheels and the ground, there is a problem of balance control when the wheeled structure arrangement itself is unstable.
[0036] Observer: An observer is a mathematical tool that can correct its estimated target mathematical relationship through iterative updating according to the error between the estimated iterative value and the actual iterative value, and finally obtain a relatively accurate target mathematical relationship. In the field of dynamics, it can iteratively update the dynamic relationship estimated by the observer by observing physical quantities, and finally determine a relatively accurate dynamic relationship.
[0037] In this embodiment of the present application, the wheeled robot is implemented as a wheeled bipedal robot as an example for explanation, that is, the wheeled bipedal robot includes two wheels for movement, the two wheels are respectively connected to the leg structure, and the leg structure is connected to the robot body, so that the two wheels drive the robot body to complete motion control. However, it should be understood that the wheeled robot in the present application is not limited to the above structure. Any wheeled robot should be understood as any robot including a wheeled structure.
[0038] Indicative, Figure 1 is a schematic diagram of the structure of a wheeled robot provided by an exemplary embodiment of the present application, such as Figure 1 As shown, the wheeled robot 100 includes a main body portion 110 and a wheel-leg portion 120;
[0039] The main body 110 is connected to the wheel-leg part 120, and the wheel-leg part 120 includes two wheels 121 and a leg structure 122 for connecting the wheels 121 and the main body 110. Figure 1As shown, the wheeled robot 100 includes 4 leg structures 122, and 2 leg structures 122 of the 4 leg structures 122 are respectively connected to a wheel 121. Schematically, there are leg structures A, leg structures B, leg structures C and leg structures D, then leg structures A and leg structures B are connected to the first wheel, and leg structures C and leg structures D are connected to the second wheel. Among them, leg structures A, leg structures B and the first wheel, as well as leg structures C, leg structures D and the second wheel constitute a two-legged planar parallel structure of the wheeled robot. The parallel leg has five rotational joints, and has two translational degrees of freedom in the lateral and vertical directions respectively. Compared with the serial mechanism, the parallel mechanism has the characteristics of compact structure, high rigidity and strong load-bearing capacity. Therefore, the robot can jump higher and overcome obstacles flexibly.
[0040] Optionally, the leg structure 122 includes a calf segment 1221 and a thigh segment 1222 , the calf segment 1221 and the thigh segment 1222 are connected via a rotating joint, and the calf segment 1221 and the wheel 121 are also connected via a rotating joint.
[0041] The main body 110 is provided with four motors corresponding to the four leg structures 122, and the four motors are used to control the bending and straightening of the leg structures 122. In some embodiments, a section where the leg structures 122 are connected to the main body 110 is connected via a rotating joint, schematically, as shown in FIG. Figure 1 As shown, when the motor drives the rotating joint to rotate clockwise, the leg structure 122 is controlled to bend; and when the motor drives the rotating joint to rotate counterclockwise, the leg structure 122 is controlled to straighten. (Wherein, the two groups of leg structures 122 are driven by the rotating joint in the same or different ways.) That is, the relationship between the clockwise and counterclockwise rotation modes and the bending and straightening control modes is the same or different.
[0042] The bending and straightening of the leg structure 122 (i.e., the relative position relationship between the calf segment 1221 and the thigh segment 1222) is used to control the height of the wheeled robot 100, that is, when the leg structure 122 tends to bend, the height of the wheeled robot 100 decreases, and when the leg structure 122 tends to straighten, the height of the wheeled robot 100 increases. For illustration, please refer to Figure 2 , Figure 1 The leg structure 122 shown is a case where the bending degree is large. In this case, the height of the wheeled robot 100 is low, and Figure 2 In the embodiment, the bending degree of the leg structure 122 is relatively Figure 1 The leg structure 122 is smaller. At this bending degree, the height of the wheeled robot 100 is higher. Figure 1 and Figure 2At different heights, the balance of the wheeled robot is different, resulting in different balance control torques at the two heights.
[0043] The wheel 121 is an active wheel, that is, the wheel 121 can actively rotate after being driven by a motor, thereby realizing the motion state control of the wheeled robot 100, such as: controlling the wheeled robot to move forward, controlling the wheeled robot to move backward, controlling the wheeled robot to turn, or controlling the wheeled robot to stand still.
[0044] Based on the structure of the main body 110 and the wheel-leg part 120 in the wheeled robot 100, the wheeled robot 100 can be approximated as a structure of an inverted pendulum of a small vehicle, wherein the height of the wheeled robot 100 corresponds to the pendulum length in the inverted pendulum structure.
[0045] The weight of the wheeled robot 100 is mainly concentrated in the main body 110 and the wheels 121 , wherein the weight factors of the main body 110 mainly include 4 motors driving the leg structure 122 , a microcomputer, a circuit board, a motor, a battery, and the like.
[0046] The dynamic model of the wheeled robot 100 can be expressed by the following formula 1:
[0047] Formula 1:
[0048]
[0049] Among them, m is used to refer to the body of the wheeled robot, that is, the mass of the main part, M is used to refer to the mass of the wheeled robot's wheels, l is the current height of the wheeled robot, that is, the height of the wheeled robot under the current leg structure. x represents the rotation distance of the wheel, represents the rotational linear velocity of the wheel, represents the derivative of the rotational velocity, which is the rotational acceleration. θ represents the inclination angle of the wheeled robot, represents the inclination velocity of the wheeled robot, represents the inclination acceleration of the wheeled robot. Here, the pitch angle θ is taken as an example for explanation. u represents the thrust applied to the wheeled robot, and there is a corresponding relationship between u and the torque applied to the wheel.
[0050] Since there is only one contact point between the ground and the wheeled structure (i.e., the contact point between the wheel and the ground), when the arrangement of multiple wheeled structures is not stable, the wheeled robot has a problem with balance control. Due to the mass distribution of the robot, the balance point is often not the position predicted by the approximate model. Therefore, it is difficult to provide an accurate reference position for balance control. In this case, output regulation can adjust the output of the system to a desired state under unknown interference. In an embodiment of the present application, an output regulation controller that can improve the balance control effect of a wheeled robot is proposed.
[0051] Figure 3 FIG. 1 is a flow chart of a motion state control method provided by an embodiment of the present application, which can be implemented in a microprocessor of a wheeled robot. Figure 3 As shown, the method includes:
[0052] Step 301: Acquire basic data and motion state data, where the basic data is used to represent the structural characteristics of the wheeled robot, and the motion state data is used to represent the motion characteristics of the wheeled robot.
[0053] The basic data is used to represent the structural characteristics of the wheeled robot, which includes the physical values of multiple parts of the robot. Figure 1 Taking the wheeled biped robot 100 in the figure as an example, the structural features include: the height, main body mass, wheel mass, wheel radius, distance between two wheels, etc. of the current leg structure. The structural features may also include the linkage structure between the various parts. Figure 1 For example, when the wheel is controlled to rotate clockwise to move rightward, the main body and leg structure will move to the left relative to the wheel through linkage, and this linkage structure can also be reflected in the basic data. This application does not limit the specific form or content of the basic data.
[0054] In some embodiments, since the basic structure of the wheeled robot is fixed, a portion of the basic data may be pre-set. Figure 1 For example, the wheeled biped robot 100 in FIG. 1 may include the first mass data of the main body, the second mass data of the wheels in the wheel-leg part, the corresponding relationship between the angle of the leg structure and the height, etc. In some embodiments, a part of the basic data may also be obtained by calculation. Figure 1 Taking the wheeled biped robot 100 in FIG. 1 as an example, the height in the basic data can be calculated according to the corresponding relationship between the angles presented by the calf segment and the thigh segment in the leg structure.
[0055] The motion state data is used to represent the motion characteristics of the wheeled robot, and may include the inclination data of the wheeled robot and the rotation data of the wheels, such as: inclination, inclination speed, wheel rotation distance (i.e., the moving distance of the wheeled robot), wheel rotation linear speed, etc. This application does not limit the specific form or content of the motion state data.
[0056] In some embodiments, the motion state data needs to be detected based on the motion state of the wheeled robot. For example, the inclination data corresponding to the motion state can be collected and acquired by a sensor, and the wheel-related data can be read by a motor. This application does not limit the specific method of acquiring the motion state data.
[0057] Step 302: Determine a state matrix of the wheeled robot based on the basic data and the motion state data, where the state matrix is related to the interference parameters of the wheeled robot.
[0058] The state matrix of a wheeled robot is a form of expression of the robot's dynamic equations, which can be determined by basic data and motion state data. The interference parameter corresponds to the balance error of the wheeled robot. The balance error refers to the error between the actual center of gravity and the predicted center of gravity or the calibrated center of gravity. In some cases, there are errors in the assembly of the wheeled robot itself, or there are errors in the installation posture of the inertial measurement unit, or due to various reasons, the actual center of gravity position is inconsistent with the designed or calibrated center of gravity position. Therefore, this embodiment predicts the state matrix that embodies the interference parameters, which can facilitate better control of the balance of the wheeled robot. Those skilled in the art should understand that in some embodiments, the state matrix can be expressed as a set of mutually connected dynamic equations.
[0059] In some embodiments, the actual interference parameter value may be directly obtained based on the basic data and the motion state data, and then the state matrix may be determined based on the basic data, the motion state data, and the interference parameter.
[0060] In other embodiments, the basic data may be combined with the motion state data to determine the state matrix of the wheeled robot, thereby reflecting the interference parameter connotation in the state matrix.
[0061] The following is about Figure 4 An exemplary specific implementation is disclosed, but the present application does not limit the specific implementation method of determining the state matrix.
[0062] Step 303: Determine the torque for controlling the wheeled robot based on the state matrix.
[0063] Based on the state matrix, a torque for controlling the wheeled robot is obtained, and the torque is a torque calculated based on the goal of controlling the wheeled robot to be in a stationary state.
[0064] In some embodiments, the torque is calculated based on a linear output regulation. Figure 4 Exemplary specific implementations are disclosed, but the present application does not limit the specific method for determining the control torque.
[0065] Step 304: Control the wheeled robot to be in a stationary state by using torque.
[0066] In some embodiments, the calculated torque is transmitted to the motor, and the motor electrically controls the wheel of the wheeled robot to control the wheel to rotate with the torque as the target, thereby driving the wheel structure of the wheeled robot and the main body of the wheeled robot to a stationary state. This application does not limit the implementation method of applying the torque, for example, a hydraulic-based drive method should also be considered to be included in this application.
[0067] To summarize, the motion state control method provided in the embodiment of the present application, before determining the torque for controlling the wheeled robot, first determines the state matrix that reflects the balance error of the robot, and then determines the torque for controlling the wheeled robot based on the state matrix, and controls the wheels of the wheeled robot with the torque, so as to control the wheeled robot in a stationary state, thereby improving the control accuracy of the wheeled robot with a balance error.
[0068] Figure 4 is a flow chart of a method for controlling a motion state in some embodiments of the present application, wherein a state matrix reflecting interference parameters is estimated by an observer, including:
[0069] Step 401: Acquire basic data and motion state data, where the basic data is used to represent the structural characteristics of the wheeled robot, and the motion state data is used to represent the motion characteristics of the wheeled robot.
[0070] The embodiment of this step is similar to step 301 and is omitted here.
[0071] Step 402: Determine an observer based on basic data.
[0072] An observer refers to a type of formula that can iteratively update the state matrix estimated by the observer by observing physical quantities and ultimately determine the state matrix.
[0073] In some embodiments, before determining the observer based on the basic data, the form of the observer is designed first. The form of the observer can be determined according to the form of the state matrix of the wheeled robot.
[0074] Below Figure 1The form of the state matrix is given by taking the wheeled biped robot 100 as an example. It should be understood that the state matrices of other wheeled robots may have different forms, and the state matrix of the wheeled biped robot 100 may also be approximated or expressed in other forms, which all belong to the disclosure scope of the present application.
[0075] In some embodiments, matrix parameters in the observer are determined based on basic data, and an observer directly used to determine the state matrix is obtained according to the matrix parameters.
[0076] The kinematic model formula 1 of the wheeled biped robot 100 can be ideally approximated as linear near the equilibrium point:
[0077] Formula 2: in A and B are matrix parameters, g represents the acceleration due to gravity.
[0078] In some embodiments, the maximum value of the pitch angle is an ideal value that matches the mathematical model. However, due to the reasons given above, in other embodiments, the q measured by the inertial measurement unit may deviate from the true value. Therefore, considering the balance error of the wheeled bipedal robot 100, that is, the interference parameter, the measured pitch angle can be corrected:
[0079] Formula 3:
[0080] in, represents the correction value of the pitch angle, q represents the measured or theoretical pitch angle, and d represents the interference parameter in the embodiment of the present application, which is a constant.
[0081] Based on Formula 3, the state matrix Formula 2 of the wheeled biped robot 100 can be converted into the following Formula 4:
[0082] Formula 4:
[0083] in, It is used to represent the state of the dynamic system. u is the applied torque, which is also the input of the dynamic system. and
[0084] In some embodiments, the selection of the iteration value in the observer is determined according to the meaning of the physical quantity. The actual value of the iteration value can be determined by measurement, or by calculation based on the measured physical quantity. Therefore, the selection of the iteration value form depends on the physical quantity that can be measured, or the form or content of the motion state data. Based on the content of the motion state data, the form of the iteration value in the observer is determined. In some embodiments, the observer can select the iteration value from the following physical quantities: the inclination angle, inclination speed, wheel rotation distance, wheel rotation linear speed, etc. of the wheeled robot.
[0085] For example, we can define the iteration quantity y in the observer as m for:
[0086] Formula 5:
[0087] in, That is, through this matrix, the above Select the first and third items in .
[0088] Of course, the present application does not limit the specific selection of the iteration value. For example, in some embodiments, the iteration value may be selected as and
[0089] The following uses the wheeled biped robot 100 as an example to illustrate the form of the observer. It should be understood that for state matrices with different forms, the observer can have multiple implementations. The present application does not limit the specific selection of the observer form.
[0090] In some embodiments, for the state matrix in Formula 4, the observer may take the following form:
[0091] Formula 6:
[0092] Among them, the state matrix estimated by the observer is
[0093] Those skilled in the art will appreciate that an observer of the form of Equation 6 can observe a state matrix of the form of Equation 4.
[0094] Matrix parameters in the observer The matrix parameters can be determined based on basic data such as M, m, l, g, etc. is known. m is the actual value of the iteration value, is the estimated value of the iteration value. L can be a pre-set parameter, which indicates the amplitude of the iterative update of the observer according to the difference between the actual value of the iteration value and the estimated value.
[0095] Therefore, this embodiment exemplarily discloses how to determine an observer based on basic data.
[0096] Step 403: Based on the motion state data, determine the state matrix through an observer.
[0097] Based on the motion state data, a state matrix including interference parameters is determined by an observer. In some embodiments, the state matrix estimated by the observer is iteratively updated according to the observed motion state data, and the state matrix is finally determined.
[0098] In some embodiments, the state matrix is first estimated by the observer, and then the estimated value of the iteration value is determined according to the state matrix estimated by the observer, and the actual value of the iteration value is determined according to the motion state data, and the difference between the estimated value of the iteration value and the actual value is calculated, and the state matrix is updated according to the difference by the observer. In some embodiments, this process is repeated multiple times, so that the state matrix estimated by the observer is iteratively updated, and the state matrix is continuously approached, and the state matrix is finally determined. In some embodiments, taking the wheeled bipedal robot 100 as an example, the estimated state matrix in the observer formula six is According to the iterative value difference Perform iterative updates and finally determine the state matrix Including estimated And the interference parameters Since the iterative update method can continuously adapt to the new state matrix, this embodiment can determine the state matrix of the change of the interference parameter during the movement. For example, even if the height of the wheeled biped robot 100 changes during the movement, resulting in the change of the balance point and the change of the state matrix, the observer can still adjust the determined changed state matrix according to the motion state data after the state change.
[0099] Therefore, this embodiment exemplarily discloses how to determine a state matrix containing interference parameters through an observer based on motion state data.
[0100] Step 404: Determine the torque for controlling the wheeled robot based on the state matrix.
[0101] According to the state matrix obtained by the observer, the control operation of the robot can be determined, such as applying a control torque. When the goal is to maintain the static balance of the wheeled robot, the target state of the system, that is, the target output of the dynamic system is close to zero. and tends to zero Determine the input to the system based on the target output of the system.
[0102] In one embodiment, an input matrix for controlling the wheeled robot is determined, and the product of the input matrix and the state matrix is determined as the torque for controlling the wheeled robot.
[0103] Taking the wheeled biped robot 100 as an example, only when there is an input matrix K = [k x k d ] and a specific vector X c When and tends to zero. Among them, k x and k d is the element in the input matrix, k x is the gain matrix, k d is the gain coefficient. Schematically, the satisfying input matrix K can be calculated based on the following formulas 7 and 8.
[0104] Formula 7:
[0105] Formula 8: 0 = [C 0] X c
[0106] in
[0107] Formula 7 and Formula 8 are linked together to form an equation system, thereby calculating the input matrix K.
[0108] The input matrix K and the above state matrix The product of is input into the motor as torque u.
[0109] Thus, the method for determining the torque for controlling the wheeled robot based on the state matrix is disclosed through the embodiments, but the present application does not limit the specific method for determining the torque for controlling the wheeled robot.
[0110] Step 405: Control the wheeled robot to be in a stationary state by using torque.
[0111] In some embodiments, the wheels of the wheeled robot are controlled based on the torque to stabilize the wheeled robot in a stationary state. The present application does not limit the specific implementation method of controlling the wheeled robot in a stationary state by using the torque.
[0112] To summarize, the motion state control method provided in the embodiment of the present application, before determining the torque for controlling the wheeled robot, first determines the state matrix of the wheeled robot in the current state through an observer, and the state matrix contains a balance error (interference parameter), so as to determine the torque for controlling the wheeled robot based on the state parameter, and control the wheels of the wheeled robot with the torque, so as to control the wheeled robot in a stationary state, thereby improving the control accuracy of the wheeled robot with a balance error.
[0113] Illustratively, the present application is applied to an embodiment of a wheeled biped robot 100 , the wheeled robot is controlled by linear output regulation, and the stability and performance of the linear output regulation are verified by experiments. First, all parameters are summarized in Table 1 .
[0114] Table 1
[0115]
[0116] Among them, Robot / IPC in the second row represents the basic data of the wheeled biped robot 100, such as: m is the mass of the main body 11 kg; M is the mass of the wheel 3 kg; g is the gravitational acceleration 9.81 m / s 2 ; l is the height, which can be adjusted between 0.37 meters and 0.7 meters (that is, the distance from the motor of the main part to the ground at different usage angles); rw is the wheel radius, and dw is the distance between the two wheels.
[0117] The Output regulation in the third row represents the parameters used in the linear output regulation method obtained in the embodiment of the present application, including but not limited to the gain matrix k in the input matrix x , gain parameter k d And the matrix L.
[0118] Based on the above parameters, the pitch angle θ and roll angle φ and their speed are measured by the inertial measurement unit (IMU). At the same time, the angular velocity ω of the right wheel is read by the motor encoder. r (rad / s) and the angular velocity of the left wheel ω l (rad / s). Then the linear velocity of the wheeled biped robot 100 in the x direction is calculated. and yaw speed The following is formula nine:
[0119] Formula 9:
[0120]
[0121] When the wheeled biped robot 100 is controlled based on the balancing force u, the formula τ = 0.5r w u is converted into torque, τ is the average torque of the left and right motors. On the other hand, the average torque τ is related to the yaw moment The sum is the torque applied to the left motor, and the average torque τ is equal to the yaw torque Subtract the torque applied to the right motor to rotate the wheeled bipedal robot 100, where is the relative yaw velocity given by a remote controller. Since the sum of the yaw moments does not change the total moment in the x direction, it will not destroy the balance of the robot.
[0122] In the experiment, a central processing unit (CPU) of model PICO-WHU4 was used, and its processing cycle was T s ≈0.002s, thus through Calculate x and discretize the observer. k represents the distance at time k, x k-1 represents the distance at time k-1, represents the velocity at time k-1.
[0123] Schematically, the linear output adjustment method provided in the embodiment of the present application is described by taking the experimental results of controlling the wheeled bipedal robot 100 in a stationary state as an example.
[0124] like Figure 5 As shown, it shows the state of the wheeled biped robot 520 during the experiment, that is, the wheeled biped robot 520 is controlled to be in a stationary state when the height remains unchanged.
[0125] In some embodiments, a linear output regulation with an observer is used to keep the robot stationary at the minimum height posture. Figures 6 to 10 Compare the physical quantity estimated by the observer with the actual observed value.
[0126] Figure 6 It is a curve chart comparing the observer's estimated value of the pitch angle with the actual value, with time as the horizontal axis. Figure 6 As shown, during the state adjustment process of the wheeled biped robot 520, the observer estimated value of the pitch angle is shown as curve 620, and the actual value is shown as curve 630. When the wheeled biped robot 520 is finally balanced, the value of the pitch angle is shown as curve 610.
[0127] Figure 7 It is a curve chart comparing the estimated value of the pitch angular velocity and the actual value of the observer with time as the horizontal axis. Figure 7As shown, during the state adjustment process of the wheeled biped robot 520, the observer estimated value of the pitch angular velocity is shown as curve 710, and the actual value is shown as curve 720.
[0128] Figure 8 It is a curve chart comparing the estimated value of displacement by the observer with the actual value, with time as the horizontal axis. Figure 8 As shown, during the state adjustment process of the wheeled biped robot 520, the observer estimated value of the displacement is shown as curve 810, and the actual value is shown as curve 820.
[0129] Fig. 9 It is a curve chart comparing the observer's estimated value of linear velocity with the actual value, with time as the horizontal axis. Fig. 9 As shown, during the state adjustment process of the wheeled biped robot 520, the observer estimated value of the linear velocity is shown as curve 910, and the actual value is shown as curve 920.
[0130] Fig.10 It is a curve chart showing the difference between the observer’s estimated value and the actual value of the pitch angular velocity with time as the horizontal axis. Fig.10 As shown, during the state adjustment process of the wheeled biped robot 520, the difference value changes as shown by curve 1010.
[0131] Depend on Figures 6 to 10 It can be seen that when the actual equilibrium point is unknown, the estimated state matrix gradually approaches the actual state matrix, and the wheeled biped robot 520 successfully reaches a static equilibrium state. In the equilibrium state, there is still a certain difference between the estimated state matrix and the actual state matrix, which is due to the friction between the wheels and the carpet. Fig.10 It can be seen that after the above linear output regulation reaches the equilibrium state, the estimated value is still further adjusted to approach the actual value.
[0132] To summarize, the motion state control method provided in the embodiment of the present application first determines the state matrix of the wheeled robot before determining the torque for controlling the wheeled robot. The state matrix reflects the interference parameters of the wheeled robot. The torque for controlling the wheeled robot is determined based on the state matrix, and the wheels of the wheeled robot are controlled with the torque, thereby controlling the wheeled robot to be in a stationary state, thereby improving the control accuracy of the wheeled robot.
[0133] Fig.11 is a structural block diagram of a motion state control device provided by an exemplary embodiment of the present application, such as Fig.11 As shown, the device comprises:
[0134] Acquisition module 1110, used to execute the embodiments in step 301 and step 401;
[0135] Determine module 1120, execute the embodiments in step 302, step 303, step 402, step 403 and step 404;
[0136] The control module 1130 is used to execute the embodiments in step 303 and step 405 .
[0137] To summarize, the motion state control method provided in the embodiment of the present application first determines the state matrix of the wheeled robot before determining the torque for controlling the wheeled robot. The state matrix reflects the interference parameters of the wheeled robot. The torque for controlling the wheeled robot is determined based on the state matrix, and the wheels of the wheeled robot are controlled with the torque, thereby controlling the wheeled robot to be in a stationary state, thereby improving the control accuracy of the wheeled robot.
[0138] It should be noted that the motion state control device provided in the above embodiment is only illustrated by the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the motion state control device provided in the above embodiment belongs to the same concept as the motion state control method embodiment. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0139] Fig.12 The block diagram of the structure of an electronic device 1200 provided by an exemplary embodiment of the present application is shown. The electronic device 1200 may be a portable mobile terminal, such as a smart phone, a tablet computer, an MP3 player (Moving Picture Experts Group Audio Layer III), an MP4 (Moving Picture Experts Group Audio Layer IV), a laptop computer or a desktop computer. The electronic device 1200 may also be called a user device, a portable terminal, a laptop terminal, a desktop terminal or other names. In the embodiment of the present application, the electronic device 1200 is implemented as a control device part in a wheeled robot.
[0140] Typically, the electronic device 1200 includes a processor 1201 and a memory 1202 .
[0141] The processor 1201 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 1201 may be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The processor 1201 may also include a main processor and a coprocessor. The main processor is a processor for processing data in an awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in a standby state. In some embodiments, the processor 1201 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 1201 may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.
[0142] The memory 1202 may include one or more computer-readable storage media, which may be non-transitory. The memory 1202 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 1202 is used to store at least one instruction, which is used to be executed by the processor 1201 to implement the motion state control method provided in the method embodiment of the present application.
[0143] In some embodiments, the electronic device 1200 may further optionally include: a peripheral device interface 1203 and at least one peripheral device. The processor 1201, the memory 1202 and the peripheral device interface 1203 may be connected via a bus or a signal line. Each peripheral device may be connected to the peripheral device interface 1203 via a bus, a signal line or a circuit board. Specifically, the peripheral device includes: at least one of a radio frequency circuit 1204, a display screen 1205, a camera assembly 1206, an audio circuit 1207, a positioning assembly 1208 and a power supply 1209.
[0144] The peripheral device interface 1203 may be used to connect at least one peripheral device related to I / O (Input / Output) to the processor 1201 and the memory 1202. In some embodiments, the processor 1201, the memory 1202, and the peripheral device interface 1203 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 1201, the memory 1202, and the peripheral device interface 1203 may be implemented on a separate chip or circuit board, which is not limited in this embodiment.
[0145] The radio frequency circuit 1204 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The radio frequency circuit 1204 communicates with the communication network and other communication devices through electromagnetic signals. The radio frequency circuit 1204 converts the electrical signal into an electromagnetic signal for transmission, or converts the received electromagnetic signal into an electrical signal. Optionally, the radio frequency circuit 1204 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, and the like. The radio frequency circuit 1204 can communicate with other terminals through at least one wireless communication protocol. The wireless communication protocol includes, but is not limited to: the World Wide Web, a metropolitan area network, an intranet, various generations of mobile communication networks (2G, 3G, 4G and 5G), a wireless local area network and / or a Wi-Fi (Wireless Fidelity) network. In some embodiments, the radio frequency circuit 1204 may also include circuits related to NFC (Near Field Communication), which is not limited in this application.
[0146] The display screen 1205 is used to display a UI (User Interface). The UI may include graphics, text, icons, videos, and any combination thereof. When the display screen 1205 is a touch display screen, the display screen 1205 also has the ability to collect touch signals on the surface or above the surface of the display screen 1205. The touch signal can be input to the processor 1201 as a control signal for processing. At this time, the display screen 1205 can also be used to provide virtual buttons and / or virtual keyboards, also known as soft buttons and / or soft keyboards. In some embodiments, the display screen 1205 can be one, arranged on the front panel of the electronic device 1200; in other embodiments, the display screen 1205 can be at least two, respectively arranged on different surfaces of the electronic device 1200 or in a folding design; in other embodiments, the display screen 1205 can be a flexible display screen, arranged on a curved surface or a folding surface of the electronic device 1200. Even, the display screen 1205 can also be arranged as a non-rectangular irregular figure, that is, a special-shaped screen. The display screen 1205 can be made of materials such as LCD (Liquid Crystal Display) and OLED (Organic Light-Emitting Diode).
[0147] The camera assembly 1206 is used to capture images or videos. Optionally, the camera assembly 1206 includes a front camera and a rear camera. Typically, the front camera is arranged on the front panel of the terminal, and the rear camera is arranged on the back of the terminal. In some embodiments, there are at least two rear cameras, which are any one of a main camera, a depth of field camera, a wide-angle camera, and a telephoto camera, so as to realize the fusion of the main camera and the depth of field camera to realize the background blur function, the fusion of the main camera and the wide-angle camera to realize the panoramic shooting and VR (Virtual Reality) shooting function or other fusion shooting functions. In some embodiments, the camera assembly 1206 may also include a flash. The flash can be a monochrome temperature flash or a dual-color temperature flash. A dual-color temperature flash refers to a combination of a warm light flash and a cold light flash, which can be used for light compensation at different color temperatures.
[0148] The audio circuit 1207 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, and convert the sound waves into electrical signals and input them into the processor 1201 for processing, or input them into the radio frequency circuit 1204 to achieve voice communication. For the purpose of stereo acquisition or noise reduction, there may be multiple microphones, which are respectively arranged at different parts of the electronic device 1200. The microphone may also be an array microphone or an omnidirectional acquisition microphone. The speaker is used to convert the electrical signal from the processor 1201 or the radio frequency circuit 1204 into sound waves. The speaker may be a traditional film speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can not only convert the electrical signal into sound waves audible to humans, but also convert the electrical signal into sound waves inaudible to humans for purposes such as ranging. In some embodiments, the audio circuit 1207 may also include a headphone jack.
[0149] The positioning component 1208 is used to locate the current geographic location of the electronic device 1200 to implement navigation or LBS (Location Based Service).
[0150] The power supply 1209 is used to power various components in the electronic device 1200. The power supply 1209 can be an alternating current, a direct current, a disposable battery, or a rechargeable battery. When the power supply 1209 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged through a wired line, and a wireless rechargeable battery is a battery that is charged through a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0151] In some embodiments, the electronic device 1200 further includes one or more sensors 1210 , including but not limited to: an acceleration sensor 1211 , a gyroscope sensor 1212 , a pressure sensor 1213 , a fingerprint sensor 1214 , an optical sensor 1215 , and a proximity sensor 1216 .
[0152] The acceleration sensor 1211 can detect the magnitude of acceleration on the three coordinate axes of the coordinate system established by the electronic device 1200. For example, the acceleration sensor 1211 can be used to detect the components of gravity acceleration on the three coordinate axes. The processor 1201 can control the display screen 1205 to display the user interface in a horizontal view or a vertical view according to the gravity acceleration signal collected by the acceleration sensor 1211. The acceleration sensor 1211 can also be used for collecting game or user motion data.
[0153] The gyro sensor 1212 can detect the body direction and rotation angle of the electronic device 1200, and the gyro sensor 1212 can cooperate with the acceleration sensor 1211 to collect the user's 3D actions on the electronic device 1200. The processor 1201 can implement the following functions based on the data collected by the gyro sensor 1212: motion sensing (such as changing the UI according to the user's tilt operation), image stabilization during shooting, game control, and inertial navigation.
[0154] The pressure sensor 1213 can be set on the side frame of the electronic device 1200 and / or the lower layer of the display screen 1205. When the pressure sensor 1213 is set on the side frame of the electronic device 1200, it can detect the user's holding signal of the electronic device 1200, and the processor 1201 performs left and right hand recognition or shortcut operations according to the holding signal collected by the pressure sensor 1213. When the pressure sensor 1213 is set on the lower layer of the display screen 1205, the processor 1201 controls the operability controls on the UI interface according to the user's pressure operation on the display screen 1205. The operability controls include at least one of a button control, a scroll bar control, an icon control, and a menu control.
[0155] The fingerprint sensor 1214 is used to collect the user's fingerprint, and the processor 1201 identifies the user's identity based on the fingerprint collected by the fingerprint sensor 1214, or the fingerprint sensor 1214 identifies the user's identity based on the collected fingerprint. When the user's identity is identified as a trusted identity, the processor 1201 authorizes the user to perform relevant sensitive operations, which include unlocking the screen, viewing encrypted information, downloading software, paying, and changing settings. The fingerprint sensor 1214 can be set on the front, back, or side of the electronic device 1200. When a physical button or a manufacturer logo is set on the electronic device 1200, the fingerprint sensor 1214 can be integrated with the physical button or the manufacturer logo.
[0156] The optical sensor 1215 is used to collect the ambient light intensity. In one embodiment, the processor 1201 can control the display brightness of the display screen 1205 according to the ambient light intensity collected by the optical sensor 1215. Specifically, when the ambient light intensity is high, the display brightness of the display screen 1205 is increased; when the ambient light intensity is low, the display brightness of the display screen 1205 is reduced. In another embodiment, the processor 1201 can also dynamically adjust the shooting parameters of the camera assembly 1206 according to the ambient light intensity collected by the optical sensor 1215.
[0157] The proximity sensor 1216, also called a distance sensor, is usually disposed on the front panel of the electronic device 1200. The proximity sensor 1216 is used to collect the distance between the user and the front of the electronic device 1200. In one embodiment, when the proximity sensor 1216 detects that the distance between the user and the front of the electronic device 1200 is gradually decreasing, the processor 1201 controls the display screen 1205 to switch from the screen-on state to the screen-off state; when the proximity sensor 1216 detects that the distance between the user and the front of the electronic device 1200 is gradually increasing, the processor 1201 controls the display screen 1205 to switch from the screen-off state to the screen-on state.
[0158] Those skilled in the art will understand that Fig.12 The structure shown in the figure does not constitute a limitation on the electronic device 1200, and may include more or less components than those shown in the figure, or combine certain components, or adopt a different component arrangement.
[0159] An embodiment of the present application also provides a wheeled robot, which includes a processor and a memory, in which at least one instruction, at least one program, a code set or an instruction set is stored, and the at least one instruction, at least one program, a code set or an instruction set is loaded and executed by the processor to implement the control method of the motion state provided by the above-mentioned method embodiments.
[0160] An embodiment of the present application also provides a computer-readable storage medium, on which is stored at least one instruction, at least one program, code set or instruction set, and the at least one instruction, at least one program, code set or instruction set is loaded and executed by a processor to implement the motion state control method provided by the above-mentioned method embodiments.
[0161] The embodiments of the present application also provide a computer program product or a computer program, which includes a computer instruction stored in a computer-readable storage medium. The processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the motion state control method described in any of the above embodiments.
[0162] Optionally, the computer-readable storage medium may include: read-only memory (ROM), random access memory (RAM), solid state drives (SSD), or optical discs, etc. Among them, the random access memory may include resistive random access memory (ReRAM) and dynamic random access memory (DRAM). The serial numbers of the embodiments of the present application above are only for description and do not represent the superiority or inferiority of the embodiments.
[0163] Those of ordinary skill in the art can understand that all or part of the steps to implement the above embodiments can be completed by hardware or by a program instructing relevant hardware. The program can be stored in a computer-readable storage medium. The storage medium mentioned above can be read-only memory, a magnetic disk, or an optical disc, etc.
[0164] The above are only optional embodiments of the present application and are not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A method for controlling a motion state, characterized in that: Applied to a wheeled robot, the method comprises: Acquire basic data and motion state data, wherein the basic data is used to represent the structural characteristics of the wheeled robot, and the motion state data is used to represent the motion characteristics of the wheeled robot; Determine an observer based on the basic data, wherein the observer refers to a formula for iteratively updating an estimated state matrix and determining the state matrix by observing physical quantities; Based on the motion state data, estimating a state matrix of the wheeled robot by the observer, wherein the state matrix includes an estimated interference parameter, and the interference parameter corresponds to a balance error of the wheeled robot, wherein the balance error refers to an error between an actual center of gravity and a predicted center of gravity or a calibrated center of gravity; Determine a torque for controlling the wheeled robot based on the state matrix; The wheeled robot is controlled to be in a stationary state by using the torque.
2. The method according to claim 1, characterized in that The determining of the observer based on the basic data comprises: Determining matrix parameters in the observer based on the basic data; The observer directly used to determine the state matrix is obtained according to the matrix parameters.
3. The method according to claim 1, characterized in that The step of estimating the state matrix of the wheeled robot by the observer based on the motion state data comprises: estimating the state matrix by the observer; determining an estimate of an iteration value based on the state matrix; Determine the actual value of the iteration value according to the motion state data; Calculating the difference between the estimated value and the actual value; updating the state matrix according to the difference by the observer; The state matrix is determined.
4. The method according to claim 3, characterized in that The method further comprises: Determining a form of the observer based on a form of the state matrix of the wheeled robot; The form of the iteration value in the observer is determined based on the content of the motion state data.
5. The method according to claim 3, characterized in that: The observer is of the form in is the state matrix estimated by the observer, u is the control torque, L is a preset parameter, y m is the actual value of the iteration value, is the estimated value of the iteration value, is a parameter matrix determined based on the basic data.
6. The method according to claim 5, characterized in that in m is the mass of the main body of the wheeled robot, M is the mass of the wheels of the wheeled robot, and l is the height of the wheeled robot.
7. The method according to claim 3, characterized in that Also includes: After the state matrix of the wheeled robot changes, the changed state matrix is determined.
8. The method according to claim 1, characterized in that The step of determining the torque for controlling the wheeled robot based on the state matrix comprises: Determining an input matrix for controlling the wheeled robot; The product of the input matrix and the state matrix is determined as the torque for controlling the wheeled robot.
9. The method according to claim 8, characterized in that The step of determining an input matrix for controlling the wheeled robot comprises: Determine an equation relationship between the control torque and the state matrix when the pitch angular velocity and the linear velocity of the wheeled robot approach zero; The input matrix is determined according to the equation relationship.
10. The method according to claim 8, characterized in that The input matrix K satisfies: and 0 = [C0] X c ,in m is the mass of the main body of the wheeled robot, M is the mass of the wheel of the wheeled robot, l is the height of the wheeled robot, L is a preset parameter.
11. The method according to any one of claims 1 to 10, characterized in that: The wheeled robot comprises a main body part and a wheel-leg part. The wheel-leg part and the main body part are in an inverted pendulum structure. The height of the wheeled robot is adjusted by the wheel-leg part.
12. A control device for controlling the motion state of a wheeled robot, characterized in that: The device comprises: An acquisition module, used for acquiring basic data and motion state data, wherein the basic data is used for representing the structural characteristics of the wheeled robot, and the motion state data is used for representing the motion characteristics of the wheeled robot; A determination module, configured to determine an observer based on the basic data, wherein the observer refers to an observer that iteratively updates an estimated state matrix and determines a formula of the state matrix by observing physical quantities; based on the motion state data, the state matrix of the wheeled robot is estimated by the observer, wherein the state matrix includes an estimated interference parameter, and the interference parameter corresponds to a balance error of the wheeled robot, wherein the balance error refers to an error between an actual center of gravity and a predicted center of gravity or a calibrated center of gravity; The determination module is further used to determine the torque for controlling the wheeled robot based on the state matrix; The control module is used to control the wheeled robot to be in a stationary state by using the torque.
13. A wheeled robot, characterized in that: The wheeled robot includes a processor and a memory, wherein the memory stores at least one program, and the at least one program is loaded and executed by the processor to implement the motion state control method according to any one of claims 1 to 10.
14. A computer-readable storage medium, characterized in that: The storage medium stores at least one program, and the at least one program is loaded and executed by the processor to implement the motion state control method as described in any one of claims 1 to 10.