Robot control method, device and storage medium
Patent Information
- Application Number
- CN202211662680.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-23
- Publication Date
- 2026-09-11
- Estimated Expiration
- 2042-12-23
AI Technical Summary
[0004]但是运动学控制不借助前馈信息,仅依靠关节位置闭环反馈控制器很难实现高动态性能,因此导致机器人关节跟踪响应慢,跟踪精度有限
[0033]The technical solutions provided by the embodiments of this disclosure can include the following beneficial effects: When controlling the robot, the knee joint angles of the robot's supporting leg and swinging leg are obtained. The knee joint angles are determined within their respective offline stored ranges, with different knee joint angles corresponding to different dynamic parameters. Therefore, the target discrete knee joint angles of the supporting leg and the target discrete knee joint angles of the swinging leg are obtained through linear mesh interpolation. Based on the target dynamic parameters corresponding to each knee joint angle, joint torque control commands for whole-body robot control are generated. Based on these joint torque control commands, the robot is controlled whole-body. By pre-calculating the dynamic parameters required for robot joint movement, the computational load during robot movement is reduced, the dependence on control hardware computing power is reduced, and the joint response speed and control accuracy are improved.
Smart Images

Figure CN118269077B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of robot control, and in particular to robot control methods, devices and storage media. Background Technology
[0002] Walking is an important research topic in the field of legged robots. It involves two aspects: gait planning and whole-body motion control. The following effect of the workspace trajectory obtained by gait planning largely depends on the control during walking. Therefore, whole-body motion control during the walking process of bipedal robots is particularly important.
[0003] In related technologies, the whole-body motion control during bipedal robot walking is mainly divided into kinematic control and dynamic control. Kinematic control methods primarily use inverse kinematics to map the workspace trajectory to joint space positions, then send joint position commands to the motor drivers. By adjusting the position loop control gain within the drivers, the execution effect of the joint position commands is ensured. Dynamic control methods use a full dynamic model to map the workspace trajectory to joint space torques, then send joint torque commands to the motor drivers. Due to the large bandwidth of the driver's torque loop, this control method has the advantages of fast response and high accuracy.
[0004] However, kinematic control, without the aid of feedforward information, relies solely on a closed-loop feedback controller for joint positions, making it difficult to achieve high dynamic performance. This results in slow joint tracking response and limited tracking accuracy for the robot. Dynamic control methods, on the other hand, require real-time calculation of the robot's full dynamic model, placing higher demands on the control system's computing power and potentially leading to computational timeouts that can cause motor jitter.
[0005] Therefore, it is imperative to provide an effective robot control method. Summary of the Invention
[0006] To overcome the problems existing in related technologies, this disclosure provides a robot control method, device and storage medium.
[0007] According to one aspect of the present disclosure, a control method is provided, comprising: acquiring the knee joint angles of a robot's supporting leg and swinging leg; determining the supporting leg knee joint angle within a plurality of discrete supporting leg knee joint angle intervals, and determining the swinging leg knee joint angle within a plurality of discrete swinging leg knee joint angle intervals; wherein the plurality of discrete supporting leg knee joint angles and the plurality of discrete swinging leg knee joint angles each correspond to dynamic parameters; determining target discrete supporting leg knee joint angles and target discrete swinging leg knee joint angles based on the supporting leg knee joint angle intervals and the swinging leg knee joint angle intervals; generating joint torque control commands for whole-body control of the robot based on the target dynamic parameters corresponding to the target discrete supporting leg knee joint angles and the target discrete swinging leg knee joint angles; and performing whole-body control of the robot based on the joint torque control commands.
[0008] In one embodiment, the dynamic parameters corresponding to the plurality of discrete supporting leg knee joint angles and the plurality of discrete swinging leg knee joint angles respectively include feedforward terms, gravity terms, and feedback terms.
[0009] In one embodiment, the target dynamic parameters include at least a feedforward term and a feedback term.
[0010] In one embodiment, the dynamic parameters corresponding to the plurality of discrete supporting leg knee joint angles and the plurality of discrete swinging leg knee joint angles are predetermined and stored in the following manner: The plurality of discrete supporting leg knee joint angles and the plurality of discrete swinging leg knee joint angles are determined; for the plurality of discrete supporting leg knee joint angles and the plurality of discrete swinging leg knee joint angles, dynamic parameters are determined based on the robot's full dynamics model, the closed-chain constraints in the robot structure, and the robot's foot closed-chain constraints, respectively; the dynamic parameters are stored in the form of a dynamic parameter matrix; the rows and columns of the dynamic parameter matrix correspond to the plurality of discrete supporting leg knee joint angles and the plurality of discrete swinging leg knee joint angles, respectively.
[0011] In one embodiment, determining multiple discrete support leg knee joint angles and multiple discrete swing leg knee joint angles includes: determining all joint angles supported by the robot support leg knee joint based on the range of motion of the robot support leg knee joint and a preset discrete angle step size, as multiple discrete support leg knee joint angles; and determining all joint angles supported by the robot swing leg knee joint based on the range of motion of the robot swing leg knee joint and the preset discrete angle step size, as multiple discrete swing leg knee joint angles.
[0012] In one embodiment, determining the dynamic parameters based on the robot's full dynamics model, closed-chain constraints in the robot structure, and closed-chain constraints on the robot's foot includes: determining a first matrix, a second matrix, and a third matrix based on the robot's full dynamics model, closed-chain constraints in the robot structure, and closed-chain constraints on the robot's foot; determining joint feedforward acceleration, ideal joint position, actual joint position, ideal joint velocity, and actual joint velocity; determining the feedforward term based on the first matrix, the second matrix, and the joint feedforward acceleration; determining the gravity term based on the first matrix and the third matrix; and determining the feedback term based on the first matrix, the second matrix, the ideal joint position, the actual joint position, the ideal joint velocity, and the actual joint velocity.
[0013] In one embodiment, determining the first matrix, the second matrix, and the third matrix based on the robot's full dynamics model, the closed-chain constraints in the robot's structure, and the robot's foot closed-chain constraints includes: determining the robot's driveable joint dynamics model based on the robot's full dynamics model, the closed-chain constraints in the robot's structure, and the robot's foot closed-chain constraints; and determining the first matrix, the second matrix, and the third matrix based on the robot's driveable joint dynamics model.
[0014] In one embodiment, determining the dynamic model of the robot's drivable joints based on the robot's full dynamics model, closed-chain constraints in the robot's structure, and closed-chain constraints on the robot's foot includes: determining a first robot full dynamics matrix model based on the robot's full dynamics model, closed-chain constraints in the robot's structure, and closed-chain constraints on the robot's foot; and determining the dynamic model of the robot's drivable joints based on the first robot full dynamics matrix model.
[0015] In one embodiment, determining the robot's full dynamics matrix model based on the robot's full dynamics model, closed-loop constraints in the robot structure, and closed-loop constraints on the robot's feet includes: determining the robot's full dynamics model based on the driveable joint torque, robot inertia matrix, robot generalized joint acceleration, robot nonlinear force vector, robot gravity vector, Jacobian matrix at the robot's external force application point, selection matrix, robot external force, Jacobian matrix at the robot's external force application point, and robot external force; determining the closed-loop constraints in the robot structure based on the Jacobian matrix at the robot's application point, robot generalized joint acceleration, and robot generalized joint velocity; and determining the closed-loop constraints based on the Jacobian matrix at the robot's external force application point, The robot's generalized joint acceleration and generalized joint velocity determine the robot's foot closed-chain constraints. Based on the robot's full dynamics model, the closed-chain constraints in the robot's structure, and the robot's foot closed-chain constraints, a first robot full dynamics matrix model is determined, along with a fourth matrix, a fifth matrix, and a first vector. The fourth matrix is represented by the robot's inertia matrix, the Jacobian matrix at the point of application of external forces, and the Jacobian matrix at the point of application of internal forces. The third matrix is represented by the selection matrix. The first vector is represented by the robot's nonlinear force vector, robot gravity vector, the Jacobian matrix at the point of application of internal forces, the Jacobian matrix at the point of application of external forces, and the robot's generalized velocity.
[0016] In one embodiment, determining the dynamic model of the robot's drivable joints based on the first robot full dynamics matrix model includes: splitting the robot full dynamics matrix model into a second robot full dynamics matrix model and a third robot full dynamics matrix model based on the robot's passive joints and drivable joints. Both the second and third robot full dynamics matrix models consist of splitting terms of a fourth matrix, a splitting term of a fifth matrix, a splitting term of a first vector, drivable joint torque, drivable joint acceleration, and passive joint parameters. The dynamic model of the robot's drivable joints is then determined based on the second and third robot full dynamics matrix models.
[0017] In one embodiment, determining the robot's drivable joint dynamics model based on the second and third robot full dynamics matrix models includes: using the decomposition terms of the fourth and fifth matrices, the decomposition terms of the first vector, the drivable joint torque, and the drivable joint acceleration to represent passive joint parameters based on the second robot full dynamics matrix model, and substituting these parameters into the third robot full dynamics matrix model to determine the robot's drivable joint dynamics model; or using the decomposition terms of the fourth and fifth matrices, the decomposition terms of the first vector, the drivable joint torque, and the drivable joint acceleration to represent passive joint parameters based on the third robot full dynamics matrix model, and substituting these parameters into the second robot full dynamics matrix model to determine the robot's drivable joint dynamics model.
[0018] In one embodiment, determining the first matrix, the second matrix, and the third matrix based on a robot-driven joint dynamics model includes: determining the first matrix based on a fourth matrix splitting term in the robot-driven joint dynamics model; determining the second matrix based on the fourth matrix splitting term and a first vector splitting term in the robot-driven joint dynamics model; and determining the third matrix based on the fourth matrix splitting term and a fifth matrix splitting term in the robot-driven joint dynamics model.
[0019] According to a second aspect of the present disclosure, a control device is provided, comprising: an acquisition unit for acquiring the knee joint angles of a robot's supporting leg and swinging leg; a determination unit for determining the supporting leg knee joint angle to belong to a range of discrete supporting leg knee joint angles among a plurality of discrete supporting leg knee joint angles, and determining the swinging leg knee joint angle to belong to a range of discrete swinging leg knee joint angles among a plurality of discrete swinging leg knee joint angles; wherein the plurality of discrete supporting leg knee joint angles and the plurality of discrete swinging leg knee joint angles each correspond to a dynamic parameter; a calculation unit for determining a target discrete supporting leg knee joint angle and a target discrete swinging leg knee joint angle based on the range of supporting leg knee joint angles and the range of swinging leg knee joint angles; a generation unit for generating joint torque control commands for whole-body control of the robot based on the target dynamic parameters corresponding to the target discrete supporting leg knee joint angles and the target discrete swinging leg knee joint angles; and a control unit for performing whole-body control of the robot based on the joint torque control commands.
[0020] In one embodiment, the dynamic parameters corresponding to the multiple discrete supporting leg knee joint angles and the multiple discrete swinging leg knee joint angles respectively include a feedforward term, a gravity term, and a feedback term.
[0021] In one embodiment, the determination of the target dynamic parameters of the unit includes at least a feedforward term and a feedback term.
[0022] In one embodiment, the determining unit pre-determines and stores the dynamic parameters corresponding to the plurality of discrete supporting leg knee joint angles and the plurality of discrete swinging leg knee joint angles in the following manner: determining the plurality of discrete supporting leg knee joint angles and the plurality of discrete swinging leg knee joint angles; determining the dynamic parameters for the plurality of discrete supporting leg knee joint angles and the plurality of discrete swinging leg knee joint angles based on the robot's full dynamics model, the closed-chain constraints in the robot structure, and the robot's foot closed-chain constraints, respectively; storing the dynamic parameters in the form of a dynamic parameter matrix; the rows and columns of the dynamic parameter matrix correspond to the plurality of discrete supporting leg knee joint angles and the plurality of discrete swinging leg knee joint angles, respectively.
[0023] In one embodiment, the determining unit determines multiple discrete support leg knee joint angles and multiple discrete swing leg knee joint angles in the following manner: based on the range of motion of the robot support leg knee joint and a preset discrete angle step size, it determines all joint angles supported by the robot support leg knee joint as multiple discrete support leg knee joint angles; based on the range of motion of the robot swing leg knee joint and the preset discrete angle step size, it determines all joint angles supported by the robot swing leg knee joint as multiple discrete swing leg knee joint angles.
[0024] In one embodiment, the determining unit determines the dynamic parameters based on the robot's full dynamics model, closed-loop constraints in the robot structure, and closed-loop constraints on the robot's foot in the following manner: Based on the robot's full dynamics model, closed-loop constraints in the robot structure, and closed-loop constraints on the robot's foot, a first matrix, a second matrix, and a third matrix are determined; joint feedforward acceleration, ideal joint position, actual joint position, ideal joint velocity, and actual joint velocity are determined; the feedforward term is determined based on the first matrix, the second matrix, and the joint feedforward acceleration; a gravity term is determined based on the first matrix and the third matrix; and a feedback term is determined based on the first matrix, the second matrix, the ideal joint position, the actual joint position, the ideal joint velocity, and the actual joint velocity.
[0025] In one embodiment, the determining unit determines a first matrix, a second matrix, and a third matrix based on the robot's full dynamics model, closed-loop constraints in the robot's structure, and closed-loop constraints on the robot's foot; determines a robot's driveable joint dynamics model based on the robot's full dynamics model, closed-loop constraints in the robot's structure, and closed-loop constraints on the robot's foot; and determines the first matrix, the second matrix, and the third matrix based on the robot's driveable joint dynamics model.
[0026] In one embodiment, the determining unit determines the dynamic model of the robot's driveable joints based on the robot's full dynamics model, closed-chain constraints in the robot's structure, and closed-chain constraints on the robot's foot: a first robot full dynamics matrix model is determined based on the robot's full dynamics model, closed-chain constraints in the robot's structure, and closed-chain constraints on the robot's foot; and the dynamic model of the robot's driveable joints is determined based on the first robot full dynamics matrix model.
[0027] In one embodiment, the determining unit determines the robot's full dynamics matrix model based on the robot's full dynamics model, closed-loop constraints in the robot structure, and closed-loop constraints on the robot's feet in the following manner: The robot's full dynamics model is determined based on the driveable joint torque, robot inertia matrix, robot generalized joint acceleration, robot nonlinear force vector, robot gravity vector, Jacobian matrix at the robot's external force application point, selection matrix, robot external force, Jacobian matrix at the robot's external force application point, and robot external force; the closed-loop constraints in the robot structure are determined based on the Jacobian matrix at the robot's application point, robot generalized joint acceleration, and robot generalized joint velocity; the closed-loop constraints are determined based on the Jacobian matrix at the robot's external force application point. The robot's foot closed-chain constraints are determined by the matrix, the robot's generalized joint acceleration, and the robot's generalized joint velocity. Based on the robot's full dynamics model, the closed-chain constraints in the robot's structure, and the robot's foot closed-chain constraints, a first robot full dynamics matrix model is determined, and a fourth matrix, a fifth matrix, and a first vector are determined. The fourth matrix is represented by the robot's inertia matrix, the Jacobian matrix at the point of application of external forces, and the Jacobian matrix at the point of application of internal forces. The third matrix is represented by the selection matrix. The first vector is represented by the robot's nonlinear force vector, the robot's gravity vector, the Jacobian matrix at the point of application of internal forces, the Jacobian matrix at the point of application of external forces, and the robot's generalized velocity.
[0028] In one embodiment, the determining unit determines the robot's drivable joint dynamics model based on a first robot full dynamics matrix model in the following manner: based on the robot's passive joints and drivable joints, the robot full dynamics matrix model is split into a second robot full dynamics matrix model and a third robot full dynamics matrix model. Both the second and third robot full dynamics matrix models consist of splitting terms of a fourth matrix, splitting terms of a fifth matrix, splitting terms of a first vector, drivable joint torque, drivable joint acceleration, and passive joint parameters; the robot drivable joint dynamics model is determined based on the second and third robot full dynamics matrix models.
[0029] In one embodiment, the determining unit determines the robot's drivable joint dynamics model based on the second robot full dynamics matrix model and the third robot full dynamics matrix model in the following manner: based on the second robot full dynamics matrix model, using the decomposition terms of the fourth matrix, the decomposition terms of the fifth matrix, the decomposition terms of the first vector, the drivable joint torque, and the drivable joint acceleration to represent passive joint parameters, and substituting them into the third robot full dynamics matrix model to determine the robot's drivable joint dynamics model; or based on the third robot full dynamics matrix model, using the decomposition terms of the fourth matrix, the decomposition terms of the fifth matrix, the decomposition terms of the first vector, the drivable joint torque, and the drivable joint acceleration to represent passive joint parameters, and substituting them into the second robot full dynamics matrix model to determine the robot's drivable joint dynamics model.
[0030] In one embodiment, the determining unit determines the first matrix, the second matrix, and the third matrix based on a robot-driven joint dynamics model in the following manner: determining the first matrix based on a fourth matrix splitting term in the robot-driven joint dynamics model; determining the second matrix based on the fourth matrix splitting term and a first vector splitting term in the robot-driven joint dynamics model; and determining the third matrix based on the fourth matrix splitting term and a fifth matrix splitting term in the robot-driven joint dynamics model.
[0031] According to a third aspect of the present disclosure, a robot control device is provided, comprising: a processor; a memory for storing processor-executable instructions; wherein the processor is configured for the robot control method described in any of the preceding claims.
[0032] According to a fourth aspect of the present disclosure, a storage medium is provided that stores instructions which, when executed by a processor, enable a device to perform the robot control method described in any of the preceding claims.
[0033] The technical solutions provided by the embodiments of this disclosure can include the following beneficial effects: When controlling the robot, the knee joint angles of the robot's supporting leg and swinging leg are obtained. The knee joint angles are determined within their respective offline stored ranges, with different knee joint angles corresponding to different dynamic parameters. Therefore, the target discrete knee joint angles of the supporting leg and the target discrete knee joint angles of the swinging leg are obtained through linear mesh interpolation. Based on the target dynamic parameters corresponding to each knee joint angle, joint torque control commands for whole-body robot control are generated. Based on these joint torque control commands, the robot is controlled whole-body. By pre-calculating the dynamic parameters required for robot joint movement, the computational load during robot movement is reduced, the dependence on control hardware computing power is reduced, and the joint response speed and control accuracy are improved.
[0034] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0035] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.
[0036] Figure 1 This is a flowchart illustrating a robot control method according to an exemplary embodiment.
[0037] Figure 2 This is a flowchart illustrating a method for storing dynamic parameters according to an exemplary embodiment.
[0038] Figure 3 This is a flowchart illustrating a method for determining robot joint angles according to an exemplary embodiment.
[0039] Figure 4 This is a flowchart illustrating a method for determining robot dynamic parameters according to an exemplary embodiment.
[0040] Figure 5 This is a flowchart illustrating a method for determining a first matrix, a second matrix, and a third matrix according to an exemplary embodiment.
[0041] Figure 6 This is a flowchart illustrating a method for determining a dynamic model of a robot's driveable joints according to an exemplary embodiment.
[0042] Figure 7 This is a flowchart illustrating a method for determining a robot's full dynamics matrix model according to an exemplary embodiment.
[0043] Figure 8This is a flowchart illustrating a method for determining a dynamic model of a robot's driveable joints according to an exemplary embodiment.
[0044] Figure 9 This is a flowchart illustrating a method for determining a dynamic model of a robot's driveable joints according to an exemplary embodiment.
[0045] Figure 10 This is a flowchart illustrating a method for a robot to determine a first matrix, a second matrix, and a third matrix according to an exemplary embodiment.
[0046] Figure 11 This is a schematic diagram illustrating an application scenario of a bipedal robot according to an exemplary embodiment of the present disclosure.
[0047] Figure 12 This is a schematic diagram illustrating a process for controlling the whole-body movement of a bipedal robot according to an exemplary embodiment of the present disclosure.
[0048] Figure 13 This is a block diagram illustrating a robot control device according to an exemplary embodiment.
[0049] Figure 14 This is a block diagram illustrating a robot control device according to an exemplary embodiment. Detailed Implementation
[0050] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure.
[0051] Currently, mobile robots are increasingly widely used across numerous fields. Depending on the application scenario, robots employ different modes of locomotion, such as wheeled, tracked, and legged. Among these, legged mobile robots are more adaptable to uneven terrain and are more commonly used than other types of mobile robots. Whole-body motion control is particularly important during the walking process of legged robots. Currently, whole-body motion control during the walking process of bipedal robots is mainly divided into kinematic control and dynamic control.
[0052] Kinematic control methods primarily adjust the position of the robot's body. Inverse kinematics is used to map the workspace trajectory to the joint space position, and then joint position commands are sent to the motor drivers. The position loop control gain within the drivers is adjusted to ensure the effective execution of the joint position commands. However, this robot control method does not compensate for robot torque, resulting in slow joint tracking response and limited tracking accuracy.
[0053] Dynamic control methods adjust the force output of robot joints, using a full dynamic model to map the workspace trajectory to joint space torques, and then sending joint command torques to the motor drivers. However, dynamic control methods require real-time calculation of the robot's full dynamic model, placing higher demands on the computing power of the control system, and may lead to calculation timeouts that can cause motor vibration.
[0054] This disclosure utilizes a full dynamics model to achieve whole-body motion control during robot walking. To ensure the real-time performance of the control algorithm, dynamic parameters are discretized and stored offline based on the robot's key joint angles. During online control, the dynamic parameter library is interpolated using a gridded method based on the key joint angles fed back by the robot, thereby obtaining the dynamic parameters of each joint. During robot walking, each joint can move accurately and quickly to the commanded position under the action of the dynamic parameters, thus ensuring walking stability and speed. Using an offline dynamic parameter library reduces the computational load during robot movement, reduces dependence on the computing power of control hardware, and improves the response speed and control accuracy of the joints.
[0055] Figure 1 This is a flowchart illustrating a robot control method according to an exemplary embodiment. Figure 1 As shown, the method includes steps S101 to S105.
[0056] In step S101, the knee joint angles of the robot's supporting leg and swinging leg are obtained.
[0057] In step S102, the knee joint angle of the supporting leg is determined, and the supporting leg knee joint angle interval among multiple discrete supporting leg knee joint angles is determined, and the swing leg knee joint angle is determined, and the swing leg knee joint angle interval among multiple discrete swing leg knee joint angles is determined.
[0058] In step S103, the target discrete knee joint angle and the target discrete knee joint angle are determined based on the knee joint angle range of the supporting leg and the knee joint angle range of the swinging leg.
[0059] In one embodiment, linear network interpolation can be used to determine the target discrete knee joint angle of the supporting leg and the target discrete knee joint angle of the swinging leg based on the knee joint angle range of the supporting leg and the knee joint angle range of the swinging leg.
[0060] In this embodiment of the disclosure, n discrete angles of the supporting leg's knee joint are known. The upper and lower limits of the interval in which the angle of the supporting leg's knee joint is located are calculated based on the feedback angles, denoted as [q]. st,i q st,i+1 ], and its position in the current interval: Given m discrete angles of the swing leg's knee joint, calculate the upper and lower limits of the interval in which the angle of the swing leg's knee joint falls based on the feedback angles, denoted as [q]. sw,j q sw,j+1 ], and its position in the current interval: Where, q st,i+1 q represents the lower limit angle of the range in which the knee joint of the swinging leg is located. st,i q represents the lower limit angle of the range in which the knee joint of the swinging leg is located. st s represents the angle of the knee joint of the swinging leg. st This refers to the position of the knee joint of the swinging leg. sw,j+1 q represents the lower limit angle of the range in which the knee joint of the swinging leg is located. sw,j This represents the lower limit angle of the range where the knee joint of the swinging leg is located. qsw s represents the angle of the knee joint of the swinging leg. sw This refers to the position of the knee joint of the swinging leg.
[0061] In an exemplary embodiment of this disclosure, the dynamic parameters at the current moment are obtained using a linear grid interpolation method based on the position of the supporting leg knee joint angle and the swing leg knee joint angle within the current interval. Where, q st,i+1 q represents the lower limit angle of the range in which the knee joint of the swinging leg is located. st,i q represents the lower limit angle of the range in which the knee joint of the swinging leg is located. st s represents the angle of the knee joint of the swinging leg. st This refers to the position of the knee joint of the swinging leg. q sw,j+1 q represents the lower limit angle of the range in which the knee joint of the swinging leg is located. sw,j This represents the lower limit angle of the range where the knee joint of the swinging leg is located. qsw s represents the angle of the knee joint of the swinging leg. sw This represents the position of the knee joint of the swinging leg. MatrixLib(q) st,i+1 ,q sw,j+1 The symbol q represents the angle of the supporting leg knee joint extracted from the dynamic parameter repository. st,i+1 And the angle of the knee joint of the swinging leg is q sw,j+1 The corresponding dynamic parameters, These are the dynamic parameters corresponding to the current moment.
[0062] In step S104, joint torque control commands for whole-body control of the robot are generated based on the target dynamic parameters corresponding to the knee joint angles of the target discrete supporting leg and the target discrete swinging leg.
[0063] In step S105, the robot is controlled in its entirety based on joint torque control commands.
[0064] In this embodiment, dynamic parameters are calculated based on the knee joint angles of multiple supporting legs and multiple swinging legs, and stored in a dynamic parameter storage module. During robot movement, the current knee joint angles of the supporting legs and swinging legs are acquired, and the corresponding dynamic parameters are retrieved from the dynamic parameter storage module. Control commands are generated based on the dynamic parameters to perform full-body control of the robot. In a specific example of this disclosure, the calculated dynamic parameters can be stored offline in the dynamic parameter storage module.
[0065] In this embodiment, some dynamic parameters required for controlling the robot's movement are pre-calculated. This reduces the computational load during actual robot operation, lowers the reliance on the control hardware's computing power, and improves the robot's walking speed and accuracy.
[0066] The following embodiments of this disclosure further illustrate the methods for determining and storing the dynamic parameters corresponding to the multiple discrete supporting leg knee joint angles and multiple discrete swinging leg knee joint angles in the above embodiments of this disclosure.
[0067] Figure 2 This is a flowchart illustrating a method for storing dynamic parameters according to an exemplary embodiment. Figure 2 As shown, the method includes steps S201 to S204.
[0068] In step S201, multiple discrete supporting leg knee joint angles and multiple discrete swing leg knee joint angles are determined.
[0069] The discrete knee joint angles of the supporting legs and the discrete knee joint angles of the swinging legs each correspond to dynamic parameters. These dynamic parameters include feedforward, gravity, and feedback terms. The target dynamic parameters include at least feedforward and feedback terms. Since the number of links in the robot changes frequently during use, the gravity term also changes, but the feedforward and feedback terms remain unchanged. Therefore, only the feedforward and feedback terms need to be calculated.
[0070] In step S202, for multiple discrete supporting leg knee joint angles and multiple discrete swinging leg knee joint angles, dynamic parameters are determined based on the robot's full dynamics model, closed-chain constraints in the robot structure, and closed-chain constraints on the robot's foot, respectively.
[0071] In step S203, the dynamic parameters are stored in the form of a dynamic parameter matrix.
[0072] In this embodiment of the disclosure, n×m dynamic parameter matrices are calculated and stored, with the knee joint angle of the supporting leg as the X coordinate and the knee joint angle of the swinging leg as the Y coordinate.
[0073] In step S204, the rows and columns in the dynamic parameter matrix correspond to multiple discrete supporting leg knee joint angles and multiple discrete swinging leg knee joint angles, respectively.
[0074] In this embodiment of the disclosure, dynamic parameters are calculated and stored for all angles of the robot's knee joint, so that all postures of the robot during movement have corresponding kinematic parameters.
[0075] The following embodiments further illustrate the method for determining multiple discrete supporting leg knee joint angles and multiple discrete swing leg knee joint angles as described in the above embodiments of this disclosure.
[0076] Figure 3 This is a flowchart illustrating a method for determining robot joint angles according to an exemplary embodiment. Figure 3 As shown, the method includes steps S301 to S302.
[0077] In step S301, based on the range of motion of the robot's supporting leg knee joint and the preset discrete angle step size, all joint angles supported by the robot's supporting leg knee joint are determined as multiple discrete supporting leg knee joint angles.
[0078] In this embodiment of the disclosure, the range of the supporting leg knee joint is specified as [q]. st,lb q st,up ], with Δq st If the distance from the walk is long, then one can obtain... A key angle. Among them, q st,up Let q be the initial angle of the robot's supporting leg knee joint. st,lb The endpoint angle of the robot's supporting leg knee joint, Δq st The discrete angular step size of the robot's supporting leg knee joint.
[0079] In step S302, based on the range of motion of the robot's swing leg knee joint and the preset discrete angle step size, all joint angles supported by the robot's swing leg knee joint are determined as multiple discrete swing leg knee joint angles.
[0080] In this embodiment of the disclosure, the range of motion of the swing leg knee joint is specified as [q]. sw,lb q sw,up ], with Δq sw If the distance from the walk is long, then one can obtain... A key angle. Among them, q sw,up Let q be the initial angle of the robot's swinging leg knee joint. sw,lbThe endpoint angle of the robot's swinging leg knee joint, Δq sw Let be the discrete angular step size of the robot's swinging leg knee joint.
[0081] In this embodiment of the disclosure, multiple joint angles of the supporting leg knee joint and the swinging leg knee joint are determined respectively.
[0082] The following embodiments further illustrate the method for determining dynamic parameters based on the robot's full dynamics model, closed-chain constraints in the robot structure, and closed-chain constraints on the robot's foot as described in the above embodiments of this disclosure.
[0083] Figure 4 This is a flowchart illustrating a method for determining robot dynamic parameters according to an exemplary embodiment. Figure 4 As shown, the method includes steps S401 to S405.
[0084] In step S401, the first matrix, the second matrix, and the third matrix are determined based on the robot's full dynamics model, the closed-chain constraints in the robot's structure, and the closed-chain constraints of the robot's foot.
[0085] In step S402, the joint feedforward acceleration, ideal joint position, actual joint position, ideal joint velocity, and actual joint velocity are determined.
[0086] In this embodiment, the joint feedforward acceleration, ideal joint position, and ideal joint velocity are obtained by calculation, while the actual joint velocity and actual joint position are obtained by measurement.
[0087] In this embodiment of the disclosure, a preset controllable joint angular acceleration control law is used to represent the driveable joint acceleration, i.e. in To drive joint acceleration, For joint feedforward acceleration, q des For the ideal position of the joint, The ideal joint velocity is obtained through calculation. q represents the actual velocity of the joint, and q represents the actual position of the joint.
[0088] In this embodiment of the disclosure, Incorporating drive joint torque achievable
[0089] In step S403, the feedforward term is determined based on the first matrix, the second matrix, and the joint feedforward acceleration.
[0090] Right now Where τ ff This is a feedforward term. For the first matrix, For the second matrix, This refers to the joint feedforward acceleration.
[0091] In step S404, the gravity term is determined based on the first and third matrices. This includes joint feedforward acceleration, ideal joint position, actual joint position, ideal joint velocity, and actual joint velocity, k. p k d It is a constant.
[0092] Right now Where τ gv This is the gravity term. For the first matrix, This is the third matrix. It's understandable that during actual robot operation, the number of links needs to be adjusted as required, and the robot's gravity term will change accordingly, but the feedforward and feedback terms will remain unchanged. In this case, the gravity term can be obtained through real-time calculation.
[0093] In step S405, a feedback term is determined based on the first matrix, the second matrix, the ideal joint position, the actual joint position, the ideal joint velocity, and the actual joint velocity.
[0094] Right now, Where, τ fb For feedback items, For the first matrix, Let q be the second matrix. des Let q represent the ideal joint position, and q represent the actual joint position. For the ideal speed of the joint, k represents the actual velocity of the joint. p k d It is a constant.
[0095] In this embodiment of the disclosure, the robot's dynamic parameters are obtained based on the parameters of the robot's driveable joints.
[0096] The following embodiments further illustrate the method for determining the first matrix, second matrix, and third matrix based on the robot's full dynamics model, closed-chain constraints in the robot structure, and closed-chain constraints on the robot's foot as described in the above embodiments of this disclosure.
[0097] Figure 5 This is a flowchart illustrating a method for determining a first matrix, a second matrix, and a third matrix according to an exemplary embodiment. Figure 5 As shown, the method includes steps S501 to S502.
[0098] In step S501, the dynamic model of the robot's driveable joints is determined based on the robot's full dynamic model, the closed-chain constraints in the robot's structure, and the closed-chain constraints of the robot's foot.
[0099] In this embodiment, the robot's full dynamics model includes parameters for both drivable and passive joints. Drivable joints are physical joints, such as the knee joint of the swing leg and the knee joint of the supporting leg, whose parameters are easy to measure and calculate. Passive joints are virtual joints; non-drivable parts of the robot body can be considered passive joints in the world coordinate system, and their parameters require more complex methods to obtain. This disclosure requires obtaining the dynamics model of the robot's drivable joints based on the full dynamics model to further determine the robot's dynamic parameters.
[0100] In step S502, the first matrix, the second matrix, and the third matrix are determined based on the dynamics model of the robot's driveable joints.
[0101] In this embodiment of the disclosure, the dynamic model of the robot's driveable joint is as follows: in For the first matrix, For the second matrix, For the third matrix The inverse matrix, It can drive joint acceleration.
[0102] The following embodiments further illustrate the method for determining the dynamic model of a robot's driveable joints based on the robot's full dynamics model, closed-chain constraints in the robot's structure, and closed-chain constraints on the robot's foot as described in the above embodiments of this disclosure.
[0103] Figure 6 This is a flowchart illustrating a method for determining the dynamics model of a robot's driveable joints according to an exemplary embodiment. Figure 6 As shown, the method includes steps S601 to S602.
[0104] In step S601, the first robot full dynamics matrix model is determined based on the robot's full dynamics model, the closed-chain constraints in the robot structure, and the robot's foot closed-chain constraints.
[0105] The first robot's full dynamics matrix model is as follows: Where M e H is the fourth matrix. e Let B be the first vector. e This is the fifth matrix.
[0106] In step S602, the dynamic model of the robot's driveable joints is determined based on the first robot full dynamic matrix model.
[0107] The following embodiments further illustrate the method for determining the robot's full dynamics matrix model based on the robot's full dynamics model, closed-loop constraints in the robot's structure, and closed-loop constraints on the robot's foot as described in the above embodiments of this disclosure.
[0108] Figure 7 This is a flowchart illustrating a method for determining a robot's full dynamics matrix model according to an exemplary embodiment. Figure 7 As shown, the method includes steps S701 to S704.
[0109] In step S701, the full dynamic model of the robot is determined based on the driveable joint torque, robot inertia matrix, robot generalized joint acceleration, robot nonlinear force vector, robot gravity vector, Jacobian matrix at the point of application of external forces, selection matrix, robot external forces, Jacobian matrix at the point of application of external forces, and robot external forces.
[0110] In an exemplary embodiment of this disclosure, the dynamic equations of the full robot model are as follows: The robot's plantar closed-chain constraint is: Where M is the robot inertia matrix, with a dimension of (n+6)×(n+6) (n is the number of robot drivable joints, and 6 is the number of floating basis degrees of freedom); Let C be the robot's generalized joint acceleration, with a dimension of (n+6)×1; let G be the robot's nonlinear force vector, including Coriolis force and centrifugal force, with a dimension of (n+6)×1; let G be the robot's gravity vector, with a dimension of (n+6)×1; let B be the selection matrix, with a dimension of (n+6)×n, and its form is B=
[01] ; J g F represents the Jacobian matrix at the point of application of the external force. For bipedal robots, it is generally the Jacobian matrix of the foot. g For bipedal robots, external force generally refers to the force applied to the soles of the feet; J s F is the Jacobian matrix at the point of application of the internal force, generally referring to the closed-chain constraint Jacobian matrix in the robot structure; s Internal forces are generally referred to as internal forces in closed-chain constraints.
[0111] In step S702, closed-chain constraints in the robot structure are determined based on the Jacobian matrix at the robot's point of action, the robot's generalized joint acceleration, and the robot's generalized joint velocity.
[0112] In this embodiment of the disclosure, the closed-chain constraint in the robot structure is: J s Let Jacobian matrix be the value at the point of application of the internal force. For generalized joint acceleration of robots, For generalized joint velocities of robots.
[0113] In step S703, the robot foot closed-chain constraint is determined based on the Jacobian matrix at the point of application of the external force on the robot, the robot's generalized joint acceleration, and the robot's generalized joint velocity.
[0114] In this embodiment of the disclosure, the robot's plantar closed-chain constraint is: Among them, J s Let Jacobian matrix be the value at the point of application of the external force. For generalized joint acceleration of robots, For generalized joint velocities of robots.
[0115] In step S704, based on the robot's full dynamics model, the closed chain constraints in the robot structure, and the robot's foot closed chain constraints, the first robot full dynamics matrix model is determined, and the fourth matrix, the fifth matrix, and the first vector are determined.
[0116] The fourth matrix is represented by the robot inertia matrix, the Jacobian matrix at the point of application of the external force, and the Jacobian matrix at the point of application of the internal force. The third matrix is represented by the selection matrix. The first vector is represented by the robot nonlinear force vector, the robot gravity vector, the Jacobian matrix at the point of application of the internal force, the Jacobian matrix at the point of application of the external force, and the robot generalized velocity.
[0117] In this embodiment of the disclosure, by combining the robot's full dynamics model, the closed-chain constraints in the robot structure, and the closed-chain constraints of the robot's foot, we can obtain: Among them, the fourth matrix First vector Fifth Matrix
[0118] The following embodiments further illustrate the method for determining the dynamic model of a robot's driveable joints based on a first robot full dynamics matrix model as described above.
[0119] In this embodiment of the disclosure, the robot's full dynamics model, the closed-chain constraints in the robot structure, and the robot's foot closed-chain constraints are represented in matrix form.
[0120] Figure 8 This is a flowchart illustrating a method for determining the dynamics model of a robot's driveable joints according to an exemplary embodiment. Figure 8 As shown, the method includes steps S801 to S802.
[0121] In step S801, based on the robot's passive joints and driveable joints, the robot's full dynamics matrix model is split into a second robot full dynamics matrix model and a third robot full dynamics matrix model.
[0122] The second and third robot full dynamics matrix models are both determined by the split terms of the fourth matrix, the split terms of the fifth matrix, the split terms of the first vector, the driveable joint torque, the driveable joint acceleration, and the passive joint parameters.
[0123] In this embodiment of the disclosure, based on the robot's passive joints and driveable joints, the robot's full dynamics matrix model is represented as follows:
[0124] Further breakdown yields:
[0125]
[0126] Where M 11 M 12 M 21 M 22 The fourth matrix M e The splitting terms, H1 and H2 are the first vector H e The split items, B1 and B2, are the fifth matrix B. e The split items. It can drive joint acceleration. These are the parameters for passive joints. For passive joint acceleration, F s To constrain external forces, F g τ represents the external force, and τ represents the torque that can drive the joint.
[0127] In step S802, the dynamic model of the robot's driveable joints is determined based on the second robot full dynamics matrix model and the third robot full dynamics matrix model.
[0128] In this embodiment of the disclosure, the passive joint parameters in the robot's full dynamics matrix model are removed to obtain a robot dynamics model that only contains the parameters of the drivable joints.
[0129] The following embodiments further illustrate the method for determining the dynamic model of a robot's driveable joints based on the second and third robot full dynamics matrix models described in the above embodiments of this disclosure.
[0130] Figure 9 This is a flowchart illustrating a method for determining a dynamic model of a robot's driveable joint, according to an exemplary embodiment. As shown, the method includes steps S901 to S902A / S902B.
[0131] In step S901, based on the robot's passive joints and drivable joints, the robot's full dynamics matrix model is split into a second robot full dynamics matrix model and a third robot full dynamics matrix model.
[0132] In step S902A, based on the second robot full dynamics matrix model, the passive joint parameters are represented by the split terms of the fourth matrix, the split terms of the fifth matrix, the split terms of the first vector, the driveable joint torque, and the driveable joint acceleration, and then substituted into the third robot full dynamics matrix model to determine the robot driveable joint dynamics model.
[0133] In this embodiment of the disclosure, the passive joint parameters can be represented as follows, based on the second robot full dynamics matrix model: Substituting the third robot's full dynamics matrix model, we get:
[0134] The first matrix Second matrix Third matrix The final dynamic model of the robot's driveable joints was determined:
[0135] In step S902B, based on the third robot full dynamics matrix model, the passive joint parameters are represented by the split terms of the fourth matrix, the split terms of the fifth matrix, the split terms of the first vector, the driveable joint torque, and the driveable joint acceleration, and then substituted into the second robot full dynamics matrix model to determine the robot driveable joint dynamics model.
[0136] In this embodiment, the parameters of the passive joints are represented by the parameters of the drivable joints, thereby obtaining the dynamic model of the robot's drivable joints. This allows the present disclosure to obtain dynamic parameters such as feedforward, feedback, and gravity terms based solely on the parameters of the drivable joints, avoiding the need for parameter calculations for the passive joints. In related technologies, calculating the robot's dynamic parameters requires optimization methods to obtain the robot's passive joint parameters, but this method is computationally cumbersome, demands high computing power from the robot, and cannot be used to obtain passive joint parameters for robots with insufficient performance. The robot dynamic parameter acquisition method proposed in this disclosure has good versatility and can be applied to robots with insufficient performance.
[0137] In this embodiment, based on the two decomposed robot full dynamics matrix models, passive joint parameters can be represented using drivable joint parameters through factorization and substituted into one of the robot full dynamics matrix models. This yields the robot's drivable joint dynamics model.
[0138] The following embodiments further illustrate the method for determining the first matrix, the second matrix, and the third matrix based on the robot's driveable joint dynamics model as described above in this disclosure.
[0139] Figure 10This is a flowchart illustrating a method for determining a first matrix, a second matrix, and a third matrix for a robot according to an exemplary embodiment. Figure 10 As shown, the method includes steps S1001 to S1003.
[0140] In step S1001, the first matrix is determined based on the fourth matrix splitting term in the robot's driveable joint dynamics model.
[0141] The first matrix is represented as: Where M 11 M 12 M 21 M 22 The fourth matrix M e The split items.
[0142] In step S1002, the second matrix is determined based on the fourth matrix splitting term and the first vector splitting term in the robot's driveable joint dynamics model.
[0143] The second matrix is represented as:
[0144] Where H1 and H2 are the first vector H e The split items.
[0145] In step S1003, the third matrix is determined based on the fourth and fifth matrix splitting terms in the robot's driveable joint dynamics model.
[0146] The third matrix is represented as Where B1 and B2 are the fifth matrix B e The split items.
[0147] In this embodiment of the disclosure, the first matrix, the second matrix, and the third matrix are determined based on the drivable joint parameters in the robot's drivable joint dynamics model, thereby achieving accurate and rapid determination of the feedforward term, gravity term, and feedback term.
[0148] Understandably, in practical robot use, the number of links connected to the joints is adjustable. Depending on the requirements, the number of links needs to be frequently changed. Simultaneously, the gravity compensation used to control the robot's movement also changes, so the pre-calculated gravity term is no longer applicable. However, the change in the number of links does not affect the feedforward and feedback terms. In this case, the gravity compensation torque can be calculated in real-time during the robot's movement.
[0149] In one embodiment of this disclosure, feedforward and feedback terms can be determined based on offline stored dynamic parameters, and feedforward and feedback commands for each joint torque can be generated. Gravity terms can be compensated separately. Specifically, the gravity term compensation method can involve calculating the gravity torque based on the weight of all links behind the joint and generating gravity torque commands.
[0150] The gravitational moment at the i-th joint can be calculated based on the weight of all links following the i-th joint. The calculation steps are as follows:
[0151] Calculate the weight of all links following the i-th joint.
[0152] Calculate the equivalent centroid of all links following the i-th joint.
[0153] The position r of the i-th joint is calculated based on positive kinematics. i ;
[0154] Calculate the gravitational moment at the i-th joint.
[0155] The gravity compensation moment at the i-th joint is calculated as follows:
[0156] Where, m i+1~n -m n Let p be the weight of each link following the i-th joint. i+1 -p n Let R be the equivalent centroid of each link following the i-th joint. i Let the rotation axis of the i-th joint be represented using world coordinates. For example, when the rotation axis of the i-th joint coincides with the x-axis... When the rotation axis of the i-th joint coincides with the y-axis When the rotation axis of the i-th joint coincides with the z-axis
[0157] In this embodiment of the disclosure, feedforward and feedback commands for generating the torque of each joint are determined based on the offline stored dynamic parameters, and the gravitational torque is calculated based on the weight of all links behind the joint, and a gravitational torque command is generated. This method enables more accurate control of the robot.
[0158] The robot control methods involved in the above embodiments are illustrated below with reference to practical applications.
[0159] This disclosure uses a bipedal robot as an example for illustration. Figure 11 This is a schematic diagram illustrating an application scenario of a bipedal robot according to an exemplary embodiment of the present disclosure. The embodiment of the present disclosure is applicable to the whole-body motion control during the walking process of a bipedal robot.
[0160] The robot control device for controlling the bipedal robot in this embodiment may include a dynamic parameter calculation module, a dynamic parameter storage module, a dynamic parameter reading module, and a joint gravity compensation module.
[0161] The dynamic parameter calculation module is used to calculate the torque commands of each joint based on the acceleration, velocity, and position commands of each joint, using the robot's full dynamics model.
[0162] The function of the dynamic parameter storage module is to calculate and store some discrete dynamic parameters offline based on the key joint angles of the robot's legs.
[0163] The function of the dynamic parameter reading module is to obtain the dynamic parameters corresponding to a given moment based on the joint angles fed back by the robot.
[0164] The function of the joint gravity compensation module is to calculate the gravity compensation moment at each joint based on the weight of the link and the distribution of its center of mass.
[0165] The dynamic parameter calculation module needs to calculate the full dynamic model in real time, and the calculation process involves matrix inversion. Considering the real-time performance of the algorithm, the dynamic parameters need to be calculated and stored offline. Here, the dynamic parameters refer to... That is, to calculate the necessary parameters for the feedforward and feedback terms.
[0166] in,
[0167] The steps for calculating dynamic parameters by the dynamic parameter calculation module are as follows:
[0168] For a floating, multi-rigid-body robot, its full dynamics model is as follows:
[0169] The closed-loop constraints in the robot structure also need to satisfy the following expression:
[0170] When the robot's foot contacts the ground, the robot's foot closed-chain constraint also satisfies the following expression:
[0171] Combining the robot's full dynamics model, the closed-chain constraints in the robot's structure, and the closed-chain constraints on the robot's feet can be represented as a robot's full dynamics matrix model:
[0172] Among them, matrix vector matrix
[0173] 2. By decomposing the robot's generalized joints into two parts: driven joints and passive joints, the robot's total dynamics matrix model can be decomposed into two parts: driven dynamics and passive dynamics.
[0174] 3. Further decomposing the above equation yields the second robot's full dynamics matrix model:
[0175] Third robot full dynamics matrix model:
[0176] 4. Solving the third robot dynamics matrix model in the above equation yields the robot's passive joint parameters:
[0177]
[0178] 5. Substituting the obtained passive joint parameters of the robot into the third robot's overall dynamics matrix model yields the dynamics model of the robot's driveable joints:
[0179] The above formula can be simplified as follows:
[0180] The controllable joint torque is
[0181] In the formula, the controllable joint angular acceleration control law is selected as PD+feedforward, that is...
[0182] The controllable joint torque is then:
[0183] The above equation consists of three terms: a feedforward term, a gravity term, and a feedback term.
[0184] That is, the feedforward term:
[0185] Gravity term:
[0186] Feedback items:
[0187] When storing dynamic parameters, the dynamic parameter storage module selects the knee joint angle of the supporting leg and the knee joint angle of the swinging leg as driving variables, and calculates the dynamic parameter matrix corresponding to multiple discrete joint angles.
[0188] The specific storage solution is as follows:
[0189] 1. Specify the range of knee joint angles for the supporting leg as [q]. st,lb q st,up ], with Δq stIf the distance from the walk is long, then one can obtain... Individual discrete supporting leg knee joint angles;
[0190] 2. Specify the range of knee joint angles for the swing leg as [q]. sw,lb q sw,up ], with Δq sw If the distance from the walk is long, then one can obtain... Individual joint discrete swing leg knee joint angle;
[0191] 3. Using the discrete supporting leg knee joint angle as the X-coordinate and the discrete swinging leg knee joint angle as the Y-coordinate, calculate and store n×m dynamic parameter matrices.
[0192] The dynamic parameter reading module selects dynamic parameters based on the feedback angles of the supporting leg's knee joint and the swinging leg's knee joint. The specific steps are as follows:
[0193] 1. Given n discrete knee joint angles of the supporting leg, calculate the upper and lower limits of the interval in which the knee joint of the supporting leg falls based on the feedback knee joint angles, denoted as [q]. st,i q st,i+1 ], and its position in the current interval:
[0194] 2. Given m discrete angles of the swing leg's knee joint, calculate the upper and lower limits of the interval in which the angle falls based on the feedback angles of the swing leg's knee joint, denoted as [q]. sw,j q sw,j+1 ], and its position in the current interval:
[0195] 3. Based on the current range of the knee joint angle of the supporting leg and the knee joint angle of the swinging leg, the dynamic parameters at the current moment are obtained using linear grid interpolation.
[0196]
[0197] In the formula MatrixLib(q st,i+1 , qsw,j+1 The symbol q represents the angle of the supporting leg knee joint extracted from the dynamic parameter repository. st,i+1 And the angle of the knee joint of the swinging leg is q sw,j+1 The corresponding dynamic parameters.
[0198] The feedforward and feedback terms of the joint torques of the robot at the current moment can be expressed as:
[0199] Feedforward term:
[0200] Feedback items:
[0201] When the robot walks, its supporting legs are always firmly connected to the ground; in this case, the robot can be considered as a series of robotic arms with a fixed base. The gravitational torque at the i-th joint can be calculated based on the weight of all the links following the i-th joint. The calculation steps are as follows:
[0202] 1. Calculate the weight of all links following the i-th joint:
[0203] 2. Calculate the equivalent centroid of all links following the i-th joint:
[0204] 3. Calculate the position r of the i-th joint based on positive kinematics. i ;
[0205] 4. Calculate the gravitational moment at the i-th joint;
[0206] 5. Calculate the gravity compensation moment at the i-th joint:
[0207] Among them, R i Let x be the direction of the rotation axis of the i-th joint. When the rotation axis of the i-th joint coincides with the x-axis, When the rotation axis of the i-th joint coincides with the y-axis When the rotation axis of the i-th joint coincides with the z-axis
[0208] Figure 12 This is a schematic diagram illustrating a process for controlling the whole-body movement of a bipedal robot according to an exemplary embodiment of the present disclosure.
[0209] The robot's supporting leg knee joint angle and swing leg knee joint angle are obtained through a dynamic parameter calculation module, and multiple discrete supporting leg knee joint angles and multiple discrete swing leg knee joint angles are determined. Dynamic parameters are calculated for these discrete supporting leg knee joint angles and multiple discrete swing leg knee joint angles: Based on the robot's full dynamic model, closed-chain constraints in the robot structure, and closed-chain constraints on the robot's foot, a robot full dynamic matrix model is determined. The robot's generalized joints are decomposed into driven joints and passive joints, and the robot full dynamic matrix model is further decomposed. A factorization transformation is performed on the decomposed robot full dynamic matrix model to obtain a robot driven joint dynamic model containing only driven joint parameters. Based on the robot driven joint dynamic model and by inputting the measured joint feedforward acceleration, ideal joint position, actual joint position, ideal joint velocity, and actual joint velocity, dynamic parameters including feedforward terms, feedback terms, and gravity terms are obtained.
[0210] The calculated dynamic parameters are stored offline in multiple discrete support leg knee joint angle ranges and multiple discrete swing leg knee joint angle ranges via the dynamic parameter storage module. After the bipedal robot starts running, the dynamic parameter reading module performs linear mesh interpolation on the support leg knee joint angle ranges and the swing leg knee joint angle ranges to obtain the target discrete support leg knee joint angle and the target discrete swing leg knee joint angle, and acquires the corresponding dynamic parameters.
[0211] When the number of links connecting the robot to its joints changes, the gravity term is obtained through the joint gravity compensation module.
[0212] Finally, joint torque control commands are generated based on feedforward, feedback, and gravity terms to control the entire robot.
[0213] In this embodiment of the disclosure, when the bipedal robot walks, each joint can move accurately and quickly to the commanded position under the action of feedforward torque, feedback torque and gravity compensation torque, thereby ensuring the stability and speed of walking. Since an offline dynamic parameter library is used, the real-time performance of the entire algorithm is ensured and the hardware requirements of the control system are reduced.
[0214] In this embodiment of the disclosure, when controlling the whole-body motion of the bipedal robot during walking, an offline dynamic parameter library is used to reduce the dependence on the computing power of the control hardware. Furthermore, the addition of dynamic feedforward terms, closed-loop feedback terms, and gravity compensation terms at the joint control level can improve the joint response speed and control accuracy.
[0215] Based on the same concept, embodiments of this disclosure also provide a robot control device.
[0216] It is understood that the robot control device provided in this disclosure includes hardware structures and / or software modules corresponding to each function in order to achieve the above-mentioned functions. In conjunction with the units and algorithm steps of the various examples disclosed in this disclosure, this disclosure can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the technical solutions of this disclosure.
[0217] Figure 13 This is a block diagram illustrating a robot control device according to an exemplary embodiment. (Refer to...) Figure 13 The device includes an acquisition unit 101, a determination unit 102, a calculation unit 103, a generation unit 104, and a control unit 105.
[0218] The acquisition unit 101 is configured to acquire the knee joint angle of the robot's supporting leg and the knee joint angle of the swinging leg.
[0219] The determining unit 102 is configured to determine the supporting leg knee joint angle, within a range of discrete supporting leg knee joint angles, and to determine the swing leg knee joint angle, within a range of discrete swing leg knee joint angles. Each of the discrete supporting leg knee joint angles and the discrete swing leg knee joint angles corresponds to a dynamic parameter.
[0220] The calculation unit 103 is configured to determine the target discrete knee joint angle of the supporting leg and the target discrete knee joint angle of the swinging leg based on the knee joint angle range of the supporting leg and the knee joint angle range of the swinging leg.
[0221] The generation unit 104 is configured to generate joint torque control commands for whole-body control of the robot based on the target dynamic parameters corresponding to the knee joint angles of the target discrete supporting leg and the target discrete swinging leg.
[0222] The control unit 105 is configured to perform whole-body control of the robot based on joint torque control commands.
[0223] In one embodiment, the dynamic parameters corresponding to the multiple discrete supporting leg knee joint angles and the multiple discrete swinging leg knee joint angles respectively include feedforward terms, gravity terms, and feedback terms.
[0224] In one implementation, the target dynamic parameters include at least a feedforward term and a feedback term.
[0225] In one embodiment, the determining unit 102 predetermines and stores the dynamic parameters corresponding to multiple discrete supporting leg knee joint angles and multiple discrete swinging leg knee joint angles in the following manner: determining multiple discrete supporting leg knee joint angles and multiple discrete swinging leg knee joint angles; determining dynamic parameters for multiple discrete supporting leg knee joint angles and multiple discrete swinging leg knee joint angles based on the robot's full dynamics model, the closed-chain constraints in the robot structure, and the robot's foot closed-chain constraints, respectively; storing the dynamic parameters in the form of a dynamic parameter matrix; the rows and columns in the dynamic parameter matrix correspond to multiple discrete supporting leg knee joint angles and multiple discrete swinging leg knee joint angles, respectively.
[0226] In one embodiment, the determining unit 102 determines multiple discrete support leg knee joint angles and multiple discrete swing leg knee joint angles in the following manner: based on the range of motion of the robot support leg knee joint and a preset discrete angle step size, it determines all joint angles supported by the robot support leg knee joint as multiple discrete support leg knee joint angles; based on the range of motion of the robot swing leg knee joint and a preset discrete angle step size, it determines all joint angles supported by the robot swing leg knee joint as multiple discrete swing leg knee joint angles.
[0227] In one embodiment, the determining unit 102 determines the dynamic parameters based on the robot's full dynamics model, closed-loop constraints in the robot structure, and closed-loop constraints on the robot's feet in the following manner: Based on the robot's full dynamics model, closed-loop constraints in the robot structure, and closed-loop constraints on the robot's feet, a first matrix, a second matrix, and a third matrix are determined; joint feedforward acceleration, ideal joint position, actual joint position, ideal joint velocity, and actual joint velocity are determined; a feedforward term is determined based on the first matrix, the second matrix, and the joint feedforward acceleration; a gravity term is determined based on the first matrix and the third matrix; and a feedback term is determined based on the first matrix, the second matrix, the ideal joint position, the actual joint position, the ideal joint velocity, and the actual joint velocity.
[0228] In one embodiment, the determining unit 102 determines a first matrix, a second matrix, and a third matrix based on the robot's full dynamics model, closed-loop constraints in the robot's structure, and closed-loop constraints on the robot's foot in the following manner; determines a robot's driveable joint dynamics model based on the robot's full dynamics model, closed-loop constraints in the robot's structure, and closed-loop constraints on the robot's foot; and determines the first matrix, the second matrix, and the third matrix based on the robot's driveable joint dynamics model.
[0229] In one embodiment, the determining unit 102 determines the dynamic model of the robot's driveable joints based on the robot's full dynamics model, the closed-chain constraints in the robot's structure, and the robot's foot closed-chain constraints in the following manner: determining a first robot full dynamics matrix model based on the robot's full dynamics model, the closed-chain constraints in the robot's structure, and the robot's foot closed-chain constraints; and determining the dynamic model of the robot's driveable joints based on the first robot full dynamics matrix model.
[0230] In one embodiment, the determining unit 102 determines the robot's full dynamics matrix model based on the robot's full dynamics model, closed-loop constraints in the robot structure, and closed-loop constraints on the robot's feet in the following manner: The robot's full dynamics model is determined based on the driveable joint torque, robot inertia matrix, robot generalized joint acceleration, robot nonlinear force vector, robot gravity vector, Jacobian matrix at the robot's external force application point, selection matrix, robot external force, Jacobian matrix at the robot's external force application point, and robot external force; the closed-loop constraints in the robot structure are determined based on the Jacobian matrix at the robot's application point, robot generalized joint acceleration, and robot generalized joint velocity; The Jacobian matrix at the point of application of external forces, the generalized joint acceleration, and the generalized joint velocity of the robot are used to determine the closed-loop constraints of the robot's foot. Based on the robot's full dynamics model, the closed-loop constraints in the robot's structure, and the closed-loop constraints of the robot's foot, the first robot full dynamics matrix model is determined, and the fourth matrix, the fifth matrix, and the first vector are determined. The fourth matrix is represented by the robot's inertia matrix, the Jacobian matrix at the point of application of external forces, and the Jacobian matrix at the point of application of internal forces. The third matrix is represented by the selection matrix. The first vector is represented by the robot's nonlinear force vector, the robot's gravity vector, the Jacobian matrix at the point of application of internal forces, the Jacobian matrix at the point of application of external forces, and the robot's generalized velocity.
[0231] In one embodiment, the determining unit 102 determines the robot's drivable joint dynamics model based on the first robot full dynamics matrix model in the following manner: based on the robot's passive joints and drivable joints, the robot full dynamics matrix model is split into a second robot full dynamics matrix model and a third robot full dynamics matrix model. Both the second and third robot full dynamics matrix models consist of splitting terms of a fourth matrix, splitting terms of a fifth matrix, splitting terms of a first vector, drivable joint torque, drivable joint acceleration, and passive joint parameters; the robot drivable joint dynamics model is determined based on the second and third robot full dynamics matrix models.
[0232] In one embodiment, the determining unit 102 determines the dynamic model of the robot's drivable joints based on the second robot full dynamics matrix model and the third robot full dynamics matrix model in the following manner: based on the second robot full dynamics matrix model, using the decomposition terms of the fourth matrix, the decomposition terms of the fifth matrix, the decomposition terms of the first vector, the drivable joint torque, and the drivable joint acceleration to represent the passive joint parameters, and substituting them into the third robot full dynamics matrix model to determine the dynamic model of the robot's drivable joints; or based on the third robot full dynamics matrix model, using the decomposition terms of the fourth matrix, the decomposition terms of the fifth matrix, the decomposition terms of the first vector, the drivable joint torque, and the drivable joint acceleration to represent the passive joint parameters, and substituting them into the second robot full dynamics matrix model to determine the dynamic model of the robot's drivable joints.
[0233] In one embodiment, the determining unit 102 determines the first matrix, the second matrix, and the third matrix based on the robot's driveable joint dynamics model in the following manner: determining the first matrix based on the fourth matrix splitting terms in the robot's driveable joint dynamics model; determining the second matrix based on the fourth matrix splitting terms and the first vector splitting terms in the robot's driveable joint dynamics model; and determining the third matrix based on the fourth matrix splitting terms and the fifth matrix splitting terms in the robot's driveable joint dynamics model.
[0234] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.
[0235] Figure 14 This is a block diagram illustrating a robot control device 200 according to an exemplary embodiment. For example, device 200 may be a mobile phone, computer, digital broadcasting terminal, messaging device, game console, tablet device, medical device, fitness equipment, personal digital assistant, etc.
[0236] Reference Figure 14 The device 200 may include one or more of the following components: a processing component 202, a memory 204, a power component 206, a multimedia component 208, an audio component 210, an input / output (I / O) interface 212, a sensor component 214, and a communication component 216.
[0237] Processing component 202 typically controls the overall operation of device 200, such as operations associated with display, telephone calls, data communication, camera operation, and recording. Processing component 202 may include one or more processors 220 to execute instructions to perform all or part of the steps of the methods described above. Furthermore, processing component 202 may include one or more modules to facilitate interaction between processing component 202 and other components. For example, processing component 202 may include a multimedia module to facilitate interaction between multimedia component 208 and processing component 202.
[0238] Memory 204 is configured to store various types of data to support the operation of device 200. Examples of such data include instructions for any application or method operating on device 200, contact data, phonebook data, messages, pictures, videos, etc. Memory 204 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0239] The power supply component 206 provides power to the various components of the device 200. The power supply component 206 may include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power to the device 200.
[0240] Multimedia component 208 includes a screen that provides an output interface between the device 200 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may sense not only the boundaries of the touch or swipe action but also the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 208 includes a front-facing camera and / or a rear-facing camera. When the device 200 is in an operating mode, such as a shooting mode or a video mode, the front-facing camera and / or the rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.
[0241] Audio component 210 is configured to output and / or input audio signals. For example, audio component 210 includes a microphone (MIC) configured to receive external audio signals when device 200 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 204 or transmitted via communication component 216. In some embodiments, audio component 210 also includes a speaker for outputting audio signals.
[0242] I / O interface 212 provides an interface between processing component 202 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, home buttons, volume buttons, power buttons, and lock buttons.
[0243] Sensor assembly 214 includes one or more sensors for providing status assessments of various aspects of device 200. For example, sensor assembly 214 may detect the on / off state of device 200, the relative positioning of components such as the display and keypad of device 200, changes in the position of device 200 or a component of device 200, the presence or absence of user contact with device 200, the orientation or acceleration / deceleration of device 200, and temperature changes of device 200. Sensor assembly 214 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 214 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, sensor assembly 214 may also include an accelerometer, a gyroscope, a magnetometer, a pressure sensor, or a temperature sensor.
[0244] Communication component 216 is configured to facilitate wired or wireless communication between device 200 and other devices. Device 200 can access wireless networks based on communication standards, such as WiFi, 2G, or 3G, or combinations thereof. In one exemplary embodiment, communication component 216 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 216 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
[0245] In an exemplary embodiment, the apparatus 200 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the methods described above.
[0246] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 204 including instructions, which can be executed by a processor 220 of the device 200 to perform the above-described method. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.
[0247] It is understood that in this disclosure, "multiple" refers to two or more, and other quantifiers are similar. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. The singular forms "a," "the," and "the" are also intended to include the plural forms unless the context clearly indicates otherwise.
[0248] It is further understood that the terms "first," "second," etc., are used to describe various types of information, but this information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another, and do not indicate a specific order or degree of importance. In fact, the expressions "first," "second," etc., are completely interchangeable. For example, without departing from the scope of this disclosure, first information can also be referred to as second information, and similarly, second information can also be referred to as first information.
[0249] It can be further understood that, unless otherwise specified, "connection" includes both direct connections where no other components exist between the two parties and indirect connections where other components exist between them.
[0250] It is further understood that although operations are described in a specific order in the accompanying drawings in the embodiments of this disclosure, this should not be construed as requiring these operations to be performed in the specific order or serial order shown, or requiring all of the shown operations to be performed to obtain the desired result. In certain environments, multitasking and parallel processing may be advantageous.
[0251] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein.
[0252] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.
Claims
1. A robot control method, characterized in that, include: Obtain the knee joint angles of the robot's supporting leg and swinging leg. Determine the knee joint angle of the supporting leg, and the range of supporting leg knee joint angles among multiple discrete supporting leg knee joint angles; and determine the knee joint angle of the swinging leg, and the range of swinging leg knee joint angles among multiple discrete swinging leg knee joint angles. The discrete knee joint angles of the multiple discrete supporting legs and the multiple discrete swinging legs each have their own dynamic parameters, and the dynamic parameters corresponding to the discrete knee joint angles of the multiple discrete supporting legs and the multiple discrete swinging legs each include feedforward terms, gravity terms, and feedback terms. Based on the knee joint angle range of the supporting leg and the knee joint angle range of the swinging leg, the target discrete knee joint angle of the supporting leg and the target discrete knee joint angle of the swinging leg are determined. Based on the target dynamic parameters corresponding to the knee joint angles of the target discrete supporting leg and the target discrete swinging leg, joint torque control commands are generated to perform whole-body control of the robot. The robot is controlled in its entirety based on the joint torque control commands.
2. The method according to claim 1, characterized in that, The target dynamic parameters include at least a feedforward term and a feedback term.
3. The method according to claim 1, characterized in that, The dynamic parameters corresponding to the multiple discrete supporting leg knee joint angles and the multiple discrete swinging leg knee joint angles are predetermined and stored in the following manner: Determine multiple discrete knee joint angles of the supporting leg and multiple discrete knee joint angles of the swinging leg; For the multiple discrete supporting leg knee joint angles and the multiple discrete swinging leg knee joint angles, the dynamic parameters are determined based on the robot's full dynamics model, the closed-chain constraints in the robot structure, and the robot's foot closed-chain constraints, respectively. The dynamic parameters are stored in the form of a dynamic parameter matrix; The rows and columns in the dynamic parameter matrix correspond to the knee joint angles of the plurality of discrete supporting legs and the knee joint angles of the plurality of discrete swinging legs, respectively.
4. The method according to claim 3, characterized in that, The determination of multiple discrete supporting leg knee joint angles and multiple discrete swing leg knee joint angles includes: Based on the range of motion of the robot's supporting leg knee joint and the preset discrete angle step size, all joint angles supported by the robot's supporting leg knee joint are determined as multiple discrete supporting leg knee joint angles. Based on the range of motion of the robot's swing leg knee joint and the preset discrete angle step size, all joint angles supported by the robot's swing leg knee joint are determined as multiple discrete swing leg knee joint angles.
5. The method according to claim 3, characterized in that, The determination of dynamic parameters based on the robot's full dynamics model, closed-chain constraints in the robot structure, and closed-chain constraints on the robot's foot includes: Based on the robot's full dynamics model, closed-chain constraints in the robot's structure, and closed-chain constraints on the robot's foot, the first matrix, the second matrix, and the third matrix are determined. Determine the joint feedforward acceleration, ideal joint position, actual joint position, ideal joint velocity, and actual joint velocity; The feedforward term is determined based on the first matrix, the second matrix, and the joint feedforward acceleration; The gravity term is determined based on the first matrix and the third matrix; The feedback term is determined based on the first matrix, the second matrix, the ideal joint position, the actual joint position, the ideal joint velocity, and the actual joint velocity.
6. The method according to claim 5, characterized in that, The determination of the first matrix, the second matrix, and the third matrix based on the robot's full dynamics model, the closed-chain constraints in the robot's structure, and the closed-chain constraints of the robot's foot includes: Based on the robot's full dynamics model, closed-chain constraints in the robot's structure, and closed-chain constraints on the robot's foot, the dynamics model of the robot's driveable joints is determined. The first matrix, the second matrix, and the third matrix are determined based on the dynamics model of the robot's driveable joints.
7. The method according to claim 6, characterized in that, The determination of the robot's driveable joint dynamics model based on the robot's full dynamics model, closed-chain constraints in the robot's structure, and closed-chain constraints on the robot's foot includes: Based on the robot's full dynamics model, the closed-chain constraints in the robot's structure, and the closed-chain constraints of the robot's foot, the first robot full dynamics matrix model is determined. The dynamic model of the robot's driveable joints is determined based on the first robot's full dynamic matrix model.
8. The method according to claim 7, characterized in that, The determination of the first robot full dynamics matrix model based on the robot's full dynamics model, closed-chain constraints in the robot structure, and closed-chain constraints on the robot's foot includes: The full dynamic model of the robot is determined based on the driveable joint torque, robot inertia matrix, robot generalized joint acceleration, robot nonlinear force vector, robot gravity vector, Jacobian matrix at the point of application of external forces, selection matrix, robot external forces, Jacobian matrix at the point of application of external forces, and robot external forces. The closed-loop constraints in the robot structure are determined based on the Jacobian matrix at the robot's point of action, the robot's generalized joint acceleration, and the robot's generalized joint velocity. The robot foot closed-chain constraint is determined based on the Jacobian matrix at the point of application of the external force, the robot's generalized joint acceleration, and the robot's generalized joint velocity. Based on the robot's full dynamics model, the closed-chain constraints in the robot's structure, and the robot's foot closed-chain constraints, a first robot full dynamics matrix model is determined, wherein the first robot full dynamics matrix model is constructed based on the fourth matrix, the fifth matrix, and the first vector; The fourth matrix is represented by the robot inertia matrix, the Jacobian matrix at the point of application of the external force on the robot, and the Jacobian matrix at the point of application of the internal force on the robot. The third matrix is represented by the selection matrix. The first vector is represented by the robot nonlinear force vector, the robot gravity vector, the Jacobian matrix at the point of application of the internal force, the Jacobian matrix at the point of application of the external force, and the robot generalized velocity.
9. The method according to claim 8, characterized in that, The determination of the robot's driveable joint dynamics model based on the first robot full dynamics matrix model includes: Based on the robot's passive and drivable joints, the robot's full dynamics matrix model is split into a second robot full dynamics matrix model and a third robot full dynamics matrix model. Both the second and third robot full dynamics matrix models are composed of splitting terms of a fourth matrix, splitting terms of a fifth matrix, splitting terms of a first vector, drivable joint torque, drivable joint acceleration, and passive joint parameters. The dynamic model of the robot's driveable joints is determined based on the second robot full dynamics matrix model and the third robot full dynamics matrix model.
10. The method according to claim 9, characterized in that, The determination of the robot's driveable joint dynamics model based on the second and third robot full dynamics matrix models includes: Based on the second robot full dynamics matrix model, the passive joint parameters are represented by the decomposition terms of the fourth matrix, the fifth matrix, the first vector, the drivable joint torque, and the drivable joint acceleration. These parameters are then substituted into the third robot full dynamics matrix model to determine the robot's drivable joint dynamics model. Based on the third robot full dynamics matrix model, the passive joint parameters are represented by the split terms of the fourth matrix, the split terms of the fifth matrix, the split terms of the first vector, the drivable joint torque, and the drivable joint acceleration, and then substituted into the second robot full dynamics matrix model to determine the robot drivable joint dynamics model.
11. The method according to claim 10, characterized in that, The determination of the first matrix, the second matrix, and the third matrix based on the dynamics model of the robot's driveable joint includes: The first matrix is determined based on the fourth matrix splitting term in the robot's driveable joint dynamics model; The second matrix is determined based on the fourth matrix splitting term and the first vector splitting term in the robot's driveable joint dynamics model. The third matrix is determined based on the fourth and fifth matrix splitting terms in the robot's driveable joint dynamics model.
12. A robot control device, characterized in that, include: The acquisition unit is used to acquire the knee joint angles of the robot's supporting leg and swinging leg. The determining unit is used to determine the knee joint angle of the supporting leg, which belongs to the range of supporting leg knee joint angles among multiple discrete supporting leg knee joint angles, and to determine the knee joint angle of the swinging leg, which belongs to the range of swinging leg knee joint angles among multiple discrete swinging leg knee joint angles. The discrete knee joint angles of the multiple discrete supporting legs and the multiple discrete swinging legs each have their own dynamic parameters, and the dynamic parameters corresponding to the discrete knee joint angles of the multiple discrete supporting legs and the multiple discrete swinging legs each include feedforward terms, gravity terms, and feedback terms. The calculation unit determines the target discrete knee joint angle of the supporting leg and the target discrete knee joint angle of the swinging leg based on the knee joint angle range of the supporting leg and the knee joint angle range of the swinging leg. The generation unit generates joint torque control commands for the whole-body control of the robot based on the target dynamic parameters corresponding to the knee joint angles of the target discrete supporting leg and the target discrete swinging leg. The control unit performs whole-body control of the robot based on the joint torque control commands.
13. The apparatus according to claim 12, characterized in that, The target dynamic parameters include at least a feedforward term and a feedback term.
14. The apparatus according to claim 12, characterized in that, The determining unit predetermines and stores the dynamic parameters corresponding to the knee joint angles of the plurality of discrete supporting legs and the knee joint angles of the plurality of discrete swinging legs in the following manner: Determine multiple discrete knee joint angles of the supporting leg and multiple discrete knee joint angles of the swinging leg; For the multiple discrete supporting leg knee joint angles and the multiple discrete swinging leg knee joint angles, the dynamic parameters are determined based on the robot's full dynamics model, the closed-chain constraints in the robot structure, and the robot's foot closed-chain constraints, respectively. The dynamic parameters are stored in the form of a dynamic parameter matrix; The rows and columns in the dynamic parameter matrix correspond to the knee joint angles of the plurality of discrete supporting legs and the knee joint angles of the plurality of discrete swinging legs, respectively.
15. The apparatus according to claim 14, characterized in that, The determining unit determines multiple discrete supporting leg knee joint angles and multiple discrete swing leg knee joint angles using the following method: Based on the range of motion of the robot's supporting leg knee joint and the preset discrete angle step size, all joint angles supported by the robot's supporting leg knee joint are determined as multiple discrete supporting leg knee joint angles. Based on the range of motion of the robot's swing leg knee joint and the preset discrete angle step size, all joint angles supported by the robot's swing leg knee joint are determined as multiple discrete swing leg knee joint angles.
16. The apparatus according to claim 14, characterized in that, The determining unit uses the following method to determine the dynamic parameters based on the robot's full dynamics model, closed-chain constraints in the robot's structure, and closed-chain constraints on the robot's foot: Based on the robot's full dynamics model, closed-chain constraints in the robot's structure, and closed-chain constraints on the robot's foot, the first matrix, the second matrix, and the third matrix are determined. Determine the joint feedforward acceleration, ideal joint position, actual joint position, ideal joint velocity, and actual joint velocity; The feedforward term is determined based on the first matrix, the second matrix, and the joint feedforward acceleration; The gravity term is determined based on the first matrix and the third matrix; The feedback term is determined based on the first matrix, the second matrix, the ideal joint position, the actual joint position, the ideal joint velocity, and the actual joint velocity.
17. The apparatus according to claim 16, characterized in that, The determining unit uses the following method to determine the first matrix, the second matrix, and the third matrix based on the robot's full dynamics model, the closed-chain constraints in the robot's structure, and the closed-chain constraints of the robot's foot; Based on the robot's full dynamics model, closed-chain constraints in the robot's structure, and closed-chain constraints on the robot's foot, the dynamics model of the robot's driveable joints is determined. The first matrix, the second matrix, and the third matrix are determined based on the dynamics model of the robot's driveable joints.
18. The apparatus according to claim 17, characterized in that, The determining unit uses the following method to determine the dynamic model of the robot's driveable joints based on the robot's full dynamics model, closed-chain constraints in the robot's structure, and closed-chain constraints on the robot's foot: Based on the robot's full dynamics model, the closed-chain constraints in the robot's structure, and the closed-chain constraints of the robot's foot, the first robot full dynamics matrix model is determined. The dynamic model of the robot's driveable joints is determined based on the first robot's full dynamic matrix model.
19. The apparatus according to claim 18, characterized in that, The determining unit uses the following method to determine the first robot full dynamics matrix model based on the robot's full dynamics model, closed-chain constraints in the robot structure, and closed-chain constraints on the robot's foot: The full dynamic model of the robot is determined based on the driveable joint torque, robot inertia matrix, robot generalized joint acceleration, robot nonlinear force vector, robot gravity vector, Jacobian matrix at the point of application of external forces, selection matrix, robot external forces, Jacobian matrix at the point of application of external forces, and robot external forces. The closed-loop constraints in the robot structure are determined based on the Jacobian matrix at the robot's point of action, the robot's generalized joint acceleration, and the robot's generalized joint velocity. The robot foot closed-chain constraint is determined based on the Jacobian matrix at the point of application of the external force, the robot's generalized joint acceleration, and the robot's generalized joint velocity. Based on the robot's full dynamics model, the closed-chain constraints in the robot's structure, and the robot's foot closed-chain constraints, a first robot full dynamics matrix model is determined, wherein the first robot full dynamics matrix model is constructed based on the fourth matrix, the fifth matrix, and the first vector; The fourth matrix is represented by the robot inertia matrix, the Jacobian matrix at the point of application of the external force on the robot, and the Jacobian matrix at the point of application of the internal force on the robot. The third matrix is represented by the selection matrix. The first vector is represented by the robot nonlinear force vector, the robot gravity vector, the Jacobian matrix at the point of application of the internal force, the Jacobian matrix at the point of application of the external force, and the robot generalized velocity.
20. The apparatus according to claim 19, characterized in that, The determining unit determines the dynamic model of the robot's driveable joints based on the first robot's full dynamics matrix model in the following manner: Based on the robot's passive and drivable joints, the robot's full dynamics matrix model is split into a second robot full dynamics matrix model and a third robot full dynamics matrix model. Both the second and third robot full dynamics matrix models are composed of splitting terms of a fourth matrix, splitting terms of a fifth matrix, splitting terms of a first vector, drivable joint torque, drivable joint acceleration, and passive joint parameters. The dynamic model of the robot's driveable joints is determined based on the second robot full dynamics matrix model and the third robot full dynamics matrix model.
21. The apparatus according to claim 20, characterized in that, The determining unit determines the dynamic model of the robot's driveable joints based on the second robot full dynamics matrix model and the third robot full dynamics matrix model in the following manner: Based on the second robot full dynamics matrix model, the passive joint parameters are represented by the decomposition terms of the fourth matrix, the fifth matrix, the first vector, the drivable joint torque, and the drivable joint acceleration. These parameters are then substituted into the third robot full dynamics matrix model to determine the robot's drivable joint dynamics model. Based on the third robot full dynamics matrix model, the passive joint parameters are represented by the split terms of the fourth matrix, the split terms of the fifth matrix, the split terms of the first vector, the drivable joint torque, and the drivable joint acceleration, and then substituted into the second robot full dynamics matrix model to determine the robot drivable joint dynamics model.
22. The apparatus according to claim 21, characterized in that, The determining unit determines the first matrix, the second matrix, and the third matrix based on the dynamics model of the robot's driveable joints in the following manner, including: The first matrix is determined based on the fourth matrix splitting term in the robot's driveable joint dynamics model; The second matrix is determined based on the fourth matrix splitting term and the first vector splitting term in the robot's driveable joint dynamics model. The third matrix is determined based on the fourth and fifth matrix splitting terms in the robot's driveable joint dynamics model.
23. A robot control device, characterized in that, include: processor: Memory used to store processor-executable instructions; The processor is configured to execute the robot control method according to any one of claims 1 to 11.
24. A storage medium, characterized in that, The storage medium stores instructions that, when executed by a processor, enable the device to perform the robot control method according to any one of claims 1 to 11.
Citation Information
Patent Citations
Feedforward control method and device of intelligent robot, storage medium and electronic device
CN113031450A
System for controlling locomotion of legged walking robot
US5206569A