Methods, devices, equipment, and products for determining the pose of parallel ankle joints in robots.

By solving the pose of the parallel ankle joint using the Jacobian matrix, the problems of low accuracy and long iteration time in the pose solution of parallel structures in the existing technology are solved, and fast and accurate motion control of the robot's ankle joint is realized.

CN119910645BActive Publication Date: 2026-01-06UBTECH ROBOTICS CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411983012.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-17
Publication Date
2026-01-06
Estimated Expiration
2044-12-17

AI Technical Summary

Technical Problem

Most existing attitude solvers are suitable for kinematic solving of serial configurations, but not for parallel structures, and suffer from low accuracy and long iteration time.

Method used

The attitude of the parallel ankle joint is solved by using the Jacobian matrix. By obtaining the actual encoder position data of the motor and establishing a mapping relationship with the Jacobian matrix, the attitude is corrected to determine the target attitude.

Benefits of technology

This enables rapid and accurate posture solving for the parallel ankle joints of a robot, improving the precision and efficiency of motion control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119910645B_ABST
    Figure CN119910645B_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of robots, and provides a parallel ankle joint pose determination method, device, equipment and product of a robot. The parallel ankle joint pose determination method of the robot comprises the following steps: acquiring actual encoder position data of a motor, the motor being used for controlling the movement of the parallel ankle joint; acquiring a Jacobian matrix, the Jacobian matrix being used for establishing a mapping relationship between the end pose of the parallel ankle joint and the encoder position data of the motor; and determining the target pose of the parallel ankle joint according to the actual encoder position data and the Jacobian matrix. The embodiments of the application can solve the pose of the parallel ankle joint, so as to control the movement of the robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of robotics technology, and in particular relates to a method, apparatus, device and product for determining the pose of a robot's parallel ankle joint. Background Technology

[0002] Large humanoid robots rely on the coordinated movement and stable control of their hip, knee, and ankle joints to achieve walking. To balance the robot's freedom of movement in space with the need for lightweight feet, most existing humanoid robots adopt a biomimetic parallel ankle joint design. However, most existing attitude solvers are suitable for solving the kinematics of serial configurations, but not for parallel structures. Some general-purpose solution methods suffer from low accuracy and excessively long iteration times when solving parallel structures. Summary of the Invention

[0003] This application provides a method, apparatus, device, and product for determining the pose of a robot's parallel ankle joint, which can use the Jacobian matrix to solve the pose of the parallel ankle joint in order to perform motion control on the robot.

[0004] The first aspect of this application provides a method for determining the pose of a parallel ankle joint of a robot, comprising: acquiring actual encoder position data of a motor, wherein the motor is used to control the movement of the parallel ankle joint; acquiring a Jacobian matrix, wherein the Jacobian matrix is ​​used to establish a mapping relationship between the end pose of the parallel ankle joint and the encoder position data of the motor; and determining the target pose of the parallel ankle joint based on the actual encoder position data and the Jacobian matrix.

[0005] In some embodiments of the first aspect, determining the target pose of the parallel ankle joint based on the actual encoder position data and the Jacobian matrix includes: obtaining a preset initial pose; performing an inverse operation based on the initial pose to obtain the encoder position calculation result of the motor; comparing the encoder position calculation result with the actual encoder position data to obtain a position error; when the position error is greater than an error threshold, correcting the initial pose based on the Jacobian matrix, and redetermining the position error based on the corrected pose, until the position error is less than or equal to the error threshold, and then determining the corrected pose as the target pose.

[0006] In some embodiments of the first aspect, the step of correcting the initial pose according to the Jacobian matrix includes: multiplying the position error and the Jacobian matrix to determine a pose correction value; and correcting the initial pose according to the pose correction value to obtain the corrected pose.

[0007] In some embodiments of the first aspect, the Jacobian matrix includes a first Jacobian matrix expression general to any structure and a second Jacobian matrix expression for the parallel ankle joint. The step of performing inverse operation based on the initial pose to obtain the encoder position calculation result of the motor includes: multiplying the inverse matrix of the first Jacobian matrix, the inverse matrix of the second Jacobian expression, and the initial pose to obtain the encoder position calculation result.

[0008] In some embodiments of the first aspect, multiplying the inverse matrix of the first Jacobian matrix, the inverse matrix of the second Jacobian expression, and the initial pose to obtain the encoder position calculation result includes: multiplying the first Jacobian matrix, the inverse matrix of the second Jacobian expression, the rotation matrix, and the pose of the parallel ankle joint to obtain the encoder position calculation result, wherein the rotation matrix is ​​used to convert the coordinates in the world coordinate system to the coordinates in the pose coordinate system of the parallel ankle joint.

[0009] In some embodiments of the first aspect, obtaining the Jacobian matrix includes: determining a velocity vector expression between the motor and the parallel ankle joint distal end; and left-multiplying the velocity vector expression by the motor linkage vector to obtain the Jacobian matrix.

[0010] In some embodiments of the first aspect, the motor is used to control the extension and retraction of the telescopic device to adjust the pitch and / or roll angle of the parallel ankle joint.

[0011] The second aspect of this application provides a pose determination device for a parallel ankle joint of a robot, comprising: a motor data acquisition unit for acquiring actual encoder position data of a motor, wherein the motor is used to control the movement of the parallel ankle joint; a Jacobian matrix acquisition unit for acquiring a Jacobian matrix, wherein the Jacobian matrix is ​​used to establish a mapping relationship between the pose of the parallel ankle joint and the encoder position data of the motor; and a pose determination unit for determining a target pose of the parallel ankle joint based on the actual encoder position data and the Jacobian matrix.

[0012] A third aspect of this application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the above-described method for determining the pose of the parallel ankle joint of a robot.

[0013] A fourth aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the above-described method for determining the pose of the parallel ankle joint of a robot.

[0014] The fifth aspect of this application provides a computer program product that, when run on an electronic device, causes the electronic device to execute the steps of the above-described method for determining the pose of the parallel ankle joint of a robot.

[0015] In the embodiments of this application, the actual encoder position data of the motor controlling the movement of the parallel ankle joint is obtained. Based on the mapping relationship between the posture of the parallel ankle joint and the encoder position data of the motor established by the actual encoder position data and the Jacobian matrix, the target posture of the parallel ankle joint is determined. The posture of the parallel ankle joint can be solved using the Jacobian matrix so as to perform motion control on the robot. Attached Figure Description

[0016] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0017] Figure 1 This is a schematic diagram illustrating the implementation process of a method for determining the pose of a robot's parallel ankle joint, as provided in an embodiment of this application.

[0018] Figure 2 This is a schematic diagram of a parallel ankle joint provided in an embodiment of this application;

[0019] Figure 3 This is a schematic diagram illustrating the specific implementation process of obtaining the Jacobian matrix provided in the embodiments of this application;

[0020] Figure 4 This is a schematic diagram illustrating the specific implementation process of determining the target pose provided in the embodiments of this application;

[0021] Figure 5 This is a schematic diagram of the structure of a robot's parallel ankle joint pose determination device provided in an embodiment of this application;

[0022] Figure 6 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation

[0023] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are protected by this application.

[0024] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.

[0025] In the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0026] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0027] Large humanoid robots rely on the coordinated movement and stable control of their hip, knee, and ankle joints to achieve walking. To balance the robot's freedom of movement in space with the need for lightweight feet, most existing humanoid robots adopt a biomimetic parallel ankle joint design. However, most existing attitude solvers are suitable for solving the kinematics of serial configurations, but not for parallel structures. Some general-purpose solution methods suffer from low accuracy and excessively long iteration times when solving parallel structures.

[0028] In view of this, this application proposes a method for determining the pose of the parallel ankle joint of a robot, which can use the Jacobian matrix to solve the pose of the parallel ankle joint so as to perform motion control on the robot.

[0029] To illustrate the technical solution of this application, specific embodiments are described below.

[0030] Figure 1 This illustration shows a flowchart of a method for determining the pose of a parallel ankle joint of a robot, as provided in an embodiment of this application. This method can be applied to an electronic device. The electronic device can be a computer, server, or other intelligent device used to control the robot, or it can be the robot itself.

[0031] Specifically, the robot mentioned above can be equipped with parallel ankle joints, which are also known as parallel ankle joints. A parallel ankle joint is a robot in which the coordinates of the joint points are interconnected by one or more closed loops.

[0032] Please refer to Figure 2 The robot's parallel ankle joint can be equipped with a motor, such as a rotary motor or a linear motor, to control the movement of the parallel ankle joint. Specifically, the actual end of the robot's ankle joint is point O, and the motor can be located at position A on the robot's lower leg. i Point B, which is a passive ball joint; the motor end is located around the ankle joint. i Point, which is the Hooke's hinge. Figure 2 As shown, the same parallel ankle joint contains two motors, which are located at points A1 and A2 respectively.

[0033] In some embodiments of this application, the motor can be used to control the extension and retraction of the telescopic device to adjust the pitch and / or roll angle of the parallel ankle joint. Specifically, the rotation of the motor rotor can be transmitted to the telescopic device through a transmission device, causing the telescopic device to extend and retract, thereby realizing the rotation of the parallel ankle joint in two degrees of freedom: pitch and roll angle.

[0034] Specifically, the above-mentioned method for determining the pose of the parallel ankle joint of the robot may include the following steps S101 to S103.

[0035] Step S101: Obtain the actual encoder position data of the motor.

[0036] Specifically, the actual encoder position data refers to the rotational position and angle of the motor shaft measured by the encoder. The encoder mentioned above can be an incremental encoder, an absolute encoder, or other types of encoders, and this application does not limit this.

[0037] Step S102: Obtain the Jacobian matrix.

[0038] The Jacobian matrix is ​​a matrix of first-order partial derivatives arranged in a certain way, which can be used to establish the mapping relationship between the posture of the parallel ankle joint and the encoder position data of the motor.

[0039] Step S103: Determine the target posture of the parallel ankle joint based on the actual encoder position data and the Jacobian matrix.

[0040] In the embodiments of this application, the mapping relationship between the parallel ankle joint's pose and the encoder position data of the motor, established based on the Jacobian matrix, can map the actual encoder position data to the target pose of the parallel ankle joint, thereby achieving estimation of the robot's end effector position and pose. Here, the target pose of the parallel ankle joint is the actual end effector pose of the robot's parallel ankle joint.

[0041] In the embodiments of this application, the actual encoder position data of the motor controlling the movement of the parallel ankle joint is obtained. Based on the mapping relationship between the end pose of the parallel ankle joint and the encoder position data of the motor established by the actual encoder position data and the Jacobian matrix, the target pose of the parallel ankle joint is determined. The pose of the parallel ankle joint can be solved using the Jacobian matrix so as to perform motion control on the robot.

[0042] In some embodiments of this application, such as Figure 3 As shown, obtaining the Jacobian matrix may include steps S301 to S302.

[0043] Step S301: Determine the velocity vector expression between the motor and the parallel ankle joint end.

[0044] Specifically, according to Figure 2 The parallel ankle joint shown, along with the preceding structural description, establishes a first coordinate system with point O at the ankle joint's distal end as the origin, the robot's forward direction as the x-axis, the lateral direction as the y-axis, and the perpendicular direction to the ground as the z-axis. Based on the structure of the parallel ankle joint, the following geometric relationships can be established:

[0045] OB i =OA i +A i B i (1)

[0046] Among them, OB i OA i A i B i All are represented by vectors. A i For the setting point of the i-th motor, B i This is the motor end of the i-th motor.

[0047] Differentiating equation (1), we obtain the velocity vector expression:

[0048]

[0049] Among them, v Bi Let ω be the linear velocity of point Bi. Bi Let r be the angular velocity at point Bi. Bi For the vector representation of link OB, Let be the expression for the spinor of the motor shaft. Let r be the speed of the i-th linear motor. AiBi For A i B i The vector value of the link, ω AiBi Link A i B iangular velocity.

[0050] Step S302 involves multiplying the velocity vector expression by the motor link vector to obtain the Jacobian matrix.

[0051] Specifically, multiply both sides of the velocity vector expression by r on the left. AiBi We can obtain:

[0052]

[0053] in, This represents the positive direction of the motor, at the initial position. Figure 2 The two motors shown are in the same direction, with elongation as positive. In the first coordinate system, their directions are expressed as: Let be the speed of the i-th linear motor. Since this motor is a sliding pair, the value here should be defined as the motor's propulsion speed, with elongation as positive and shortening as negative.

[0054] From formula (3), the Jacobian matrix relationship from the end of the parallel ankle joint to the motor end can be established as follows:

[0055]

[0056] Among them, J x It is the general first Jacobian matrix expression for any structure, while J θ It is the second Jacobian matrix expression for the parallel ankle joint.

[0057] Thus, the Jacobian matrix of the parallel ankle joint can be calculated based on the velocity vector method.

[0058] In some embodiments of this application, such as Figure 4 As shown, determining the target pose of the parallel ankle joint based on the actual encoder position data and the Jacobian matrix may include steps S401 to S404.

[0059] Step S401: Obtain the preset initial pose.

[0060] The initial pose is an assumed pose that can be set according to actual needs.

[0061] Step S402: Perform inverse calculation based on the initial pose to obtain the encoder position calculation result of the motor.

[0062] Specifically, based on the mapping relationship between the end pose of the parallel ankle joint and the encoder position data of the motor established by the Jacobian matrix, the encoder position solution corresponding to the initial pose can be calculated by performing inverse calculation based on the initial pose.

[0063] Specifically, from the first Jacobian matrix and the expression for the second Jacobian, we can obtain:

[0064]

[0065] in, For the distal position of the parallel ankle joint, Let v be the general expression for the end-effector pose, where v and ω are the linear velocity and angular velocity, respectively.

[0066] Therefore, the first Jacobian matrix J can be... x The inverse matrix of the second Jacobian expression (J) θ ) -1 Multiplying the result by the initial pose yields the encoder position calculation.

[0067] Considering This is an expression based on the world coordinate system. In this application, the parallel ankle joint's actual degrees of freedom are pitch and roll. A transformation matrix needs to be set to convert the rotation around the world coordinate system to the pose coordinate system of the parallel ankle joint. Let... Expressed as the end pose in the pose coordinate system, we have:

[0068]

[0069] Where G is a rotation matrix used to convert coordinates in the world coordinate system to coordinates in the pose coordinate system of the parallel ankle joint.

[0070] In some embodiments of this application, the rotation matrix is ​​obtained based on the robot's roll angle.

[0071] Specifically, the rotation matrix can be represented as:

[0072]

[0073] In formula (7), α is the rotation angle of the robot's roll angle. The rotation matrix G in formula (7) is used to solve the projection relationship of the roll angle rotation in the world coordinate system.

[0074] Combining formulas (5) and (6), the Jacobian matrix expression for the positive kinematics of the parallel ankle joint can be obtained as follows:

[0075]

[0076] Therefore, multiplying the first Jacobian matrix, the inverse matrix of the second Jacobian expression, and the initial pose to obtain the encoder position calculation result can include: multiplying the first Jacobian matrix, the inverse matrix of the second Jacobian expression, the rotation matrix, and the pose of the parallel ankle joint to obtain the encoder position calculation result.

[0077] Step S403: Compare the encoder position calculation result with the actual encoder position data to obtain the position error.

[0078] Specifically, the position error between the encoder position calculation result and the actual encoder position data can be obtained.

[0079] Step S404: When the position error is greater than the error threshold, the initial pose is corrected according to the Jacobian matrix, and the position error is re-determined according to the corrected pose until the position error is less than or equal to the error threshold, and then the corrected pose is determined as the target pose.

[0080] In the embodiments of this application, position error can characterize the error between the initial pose and the actual pose of the parallel ankle joint.

[0081] When the position error is less than or equal to the error threshold, it indicates that the error between the initial pose and the actual pose is small, and the initial pose can be used as the target pose.

[0082] When the position error is greater than the error threshold, it indicates that the error between the initial pose and the actual pose is large. At this time, the initial pose can be corrected according to the Jacobian matrix, and the position error can be re-determined according to the corrected pose until the position error is less than or equal to the error threshold. Then, the corrected pose can be determined as the target pose.

[0083] Specifically, the position error can be multiplied by the Jacobian matrix to determine the pose correction value. Based on the pose correction value, the initial pose can be corrected to obtain the corrected pose.

[0084] The method for determining the pose correction value by multiplying the position error by the Jacobian matrix can be referred to the aforementioned formulas (5) and (8). Based on the pose correction value, the initial pose can be corrected to obtain the corrected pose. The corrected pose can be recalculated using the inverse operation and compared with the actual encoder position data to obtain a new position error. This process continues until the position error is less than or equal to the error threshold, indicating that the error between the initial pose and the actual pose is small, and the initial pose can be used as the target pose.

[0085] In actual robot control, the actual encoder position data of the motor can be read through the encoder arranged at the motor output end. Because the solution of the parallel ankle joint structure is difficult to achieve directly, this application adopts an error approximation method to realize the forward solution process, which is conducive to quickly and accurately solving the forward kinematics of the parallel ankle joint of the humanoid robot, enabling the robot to efficiently estimate the state of its own ankle joint for subsequent motion control.

[0086] It should be noted that, for the sake of simplicity, the aforementioned method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, because according to this application, some steps can be performed in other orders.

[0087] like Figure 5 The diagram shown is a schematic diagram of a robot's parallel ankle joint pose determination device 500 provided in an embodiment of this application. The robot's parallel ankle joint pose determination device 500 is disposed on an electronic device.

[0088] Specifically, the robot's parallel ankle joint pose determination device 500 may include:

[0089] The motor data acquisition unit 501 is used to acquire the actual encoder position data of the motor, which is used to control the parallel ankle joint movement.

[0090] Jacobian matrix acquisition unit 502 is used to acquire Jacobian matrix, which is used to establish the mapping relationship between the posture of the parallel ankle joint and the encoder position data of the motor.

[0091] The pose determination unit 503 is used to determine the target pose of the parallel ankle joint based on the actual encoder position data and the Jacobian matrix.

[0092] In some embodiments of this application, the pose determination unit 503 is specifically used for: obtaining a preset initial pose; performing inverse calculation based on the initial pose to obtain the encoder position calculation result of the motor; comparing the encoder position calculation result with the actual encoder position data to obtain a position error; when the position error is greater than an error threshold, correcting the initial pose based on the Jacobian matrix, redetermining the position error based on the corrected pose, until the position error is less than or equal to the error threshold, and determining the corrected pose as the target pose.

[0093] In some embodiments of this application, the pose determination unit 503 is specifically used to: multiply the position error and the Jacobian matrix to determine the pose correction value; and correct the initial pose according to the pose correction value to obtain the corrected pose.

[0094] In some embodiments of this application, the Jacobian matrix includes a first Jacobian matrix expression common to any structure and a second Jacobian matrix expression for the parallel ankle joint. The pose determination unit 503 is specifically used to: multiply the inverse matrix of the first Jacobian matrix, the inverse matrix of the second Jacobian expression, and the initial pose to obtain the encoder position calculation result.

[0095] In some embodiments of this application, the pose determination unit 503 is specifically used to: multiply the first Jacobian matrix, the inverse matrix of the second Jacobian expression, the rotation matrix, and the pose of the parallel ankle joint to obtain the encoder position calculation result, wherein the rotation matrix is ​​used to convert the coordinates of the world coordinate system into the coordinates of the pose coordinate system of the parallel ankle joint.

[0096] In some embodiments of this application, the motor data acquisition unit 501 is specifically used to: determine the velocity vector expression between the motor and the parallel ankle joint end; and multiply the velocity vector expression by the motor link vector to obtain the Jacobian matrix.

[0097] In some embodiments of this application, the aforementioned motor is used to control the extension and retraction of the telescopic device to adjust the pitch angle and / or roll angle of the parallel ankle joint.

[0098] It should be noted that, for the sake of convenience and brevity, the specific working process of the parallel ankle joint pose determination device 500 of the robot described above can be found in [reference needed]. Figures 1 to 4 The corresponding process of the method will not be described in detail here.

[0099] like Figure 6 The diagram shown is a schematic of an electronic device provided in an embodiment of this application. Specifically, the electronic device 6 may include: a processor 60, a memory 61, and a computer program 62 stored in the memory 61 and executable on the processor 60, such as a pose determination program for the parallel ankle joint of a robot. When the processor 60 executes the computer program 62, it implements the steps in the embodiments of the above-described methods for determining the pose of the parallel ankle joint of a robot, for example... Figure 1 Steps S101 to S103 are shown. Alternatively, when the processor 60 executes the computer program 62, it implements the functions of each module / unit in the above-described device embodiments, for example... Figure 5 The functions of the motor data acquisition unit 501, Jacobian matrix acquisition unit 502, and pose determination unit 503 shown are illustrated.

[0100] The computer program can be divided into one or more modules / units, which are stored in the memory 61 and executed by the processor 60 to complete this application. The one or more modules / units can be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program in the electronic device.

[0101] For example, the computer program can be divided into: a motor data acquisition unit, a Jacobian matrix acquisition unit, and a pose determination unit. The specific functions of each unit are as follows: the motor data acquisition unit is used to acquire the actual encoder position data of the motor, which is used to control the movement of the parallel ankle joint; the Jacobian matrix acquisition unit is used to acquire a Jacobian matrix, which is used to establish a mapping relationship between the posture of the parallel ankle joint and the encoder position data of the motor; the pose determination unit is used to determine the target posture of the parallel ankle joint based on the actual encoder position data and the Jacobian matrix.

[0102] The electronic device may include, but is not limited to, a processor 60 and a memory 61. Those skilled in the art will understand that... Figure 6 This is merely an example of an electronic device and does not constitute a limitation on the electronic device. It may include more or fewer components than illustrated, or combine certain components, or different components. For example, the electronic device may also include input / output devices, network access devices, buses, etc.

[0103] The processor 60 may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), off-the-shelf programmable gate arrays or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.

[0104] The memory 61 can be an internal storage unit of the electronic device, such as a hard drive or memory. The memory 61 can also be an external storage device of the electronic device, such as a plug-in hard drive, Smart Media Card (SMC), Secure Digital (SD) card, or Flash Card. Furthermore, the memory 61 can include both internal and external storage units. The memory 61 is used to store the computer program and other programs and data required by the electronic device. The memory 61 can also be used to temporarily store data that has been output or will be output.

[0105] It should be noted that, for the sake of convenience and brevity, the structure of the above-mentioned electronic device can also be referred to the specific description of the structure in the method embodiment, which will not be repeated here.

[0106] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0107] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0108] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software 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 various specific applications, but such implementations should not be considered beyond the scope of this application.

[0109] In the embodiments provided in this application, it should be understood that the disclosed devices / electronic devices and methods can be implemented in other ways. For example, the device / electronic device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings or direct couplings or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.

[0110] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0111] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0112] If the integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium can be appropriately added or removed according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media do not include electrical carrier signals and telecommunication signals.

[0113] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A method of pose determination of a parallel ankle joint of a robot, characterized by, The method comprises the following steps: obtaining actual encoder position data of a motor, the motor being used to control parallel ankle joint movement; obtaining a Jacobian matrix, the Jacobian matrix being used to establish a mapping relationship between an end posture of the parallel ankle joint and encoder position data of the motor; obtaining a preset initial pose; performing inverse operation according to the initial pose to obtain an encoder position calculation result of the motor; comparing the encoder position calculation result with the actual encoder position data to obtain a position error; when the position error is greater than an error threshold, multiplying the position error by the Jacobian matrix to determine a pose correction value; and correcting the initial pose according to the pose correction value to obtain a corrected pose; re-determining the position error according to the corrected pose until the position error is less than or equal to the error threshold, and determining the corrected pose as a target pose of the parallel ankle joint.

2. The pose determination method of the parallel ankle joint of the robot according to claim 1, characterized by, The Jacobian matrix comprises a first Jacobian matrix expression that is universal for any structure and a second Jacobian matrix expression of the parallel ankle joint, and the inverse operation according to the initial pose to obtain the encoder position calculation result of the motor comprises: multiplying an inverse matrix of the first Jacobian matrix, an inverse matrix of the second Jacobian matrix and the initial pose to obtain the encoder position calculation result.

3. The method of pose determination of a parallel ankle joint of a robot according to claim 2, wherein, The multiplication of the inverse matrix of the first Jacobian matrix, the inverse matrix of the second Jacobian matrix and the initial pose to obtain the encoder position calculation result comprises: multiplying the inverse matrix of the first Jacobian matrix, the inverse matrix of the second Jacobian matrix, a rotation matrix and a pose of the parallel ankle joint to obtain the encoder position calculation result, wherein the rotation matrix is used to convert coordinates in a world coordinate system into coordinates in a pose coordinate system of the parallel ankle joint.

4. The method of claim 1, wherein, The obtaining of the Jacobian matrix comprises: determining a velocity vector expression between the motor and an end of the parallel ankle joint; multiplying the velocity vector expression by a motor connecting rod vector from the left to obtain the Jacobian matrix.

5. The pose determination method of the parallel ankle joint of the robot according to any one of claims 1 to 4, characterized in that, The motor is used to control the extension and retraction of an extension and retraction device to adjust a pitch angle and / or a roll angle of the parallel ankle joint.

6. A pose determination device of a parallel ankle joint of a robot, characterized by, The method comprises the following steps: a motor data obtaining unit is configured to obtain actual encoder position data of a motor, the motor being used to control parallel ankle joint movement; a Jacobian matrix obtaining unit is configured to obtain a Jacobian matrix, the Jacobian matrix being used to establish a mapping relationship between a pose of the parallel ankle joint and encoder position data of the motor; a pose determining unit is configured to obtain a preset initial pose; inverse operation is performed according to the initial pose to obtain an encoder position calculation result of the motor; the encoder position calculation result is compared with the actual encoder position data to obtain a position error; when the position error is greater than an error threshold, the position error is multiplied by the Jacobian matrix to determine a pose correction value; and the initial pose is corrected according to the pose correction value to obtain a corrected pose; The position error is re-determined according to the modified pose until the position error is less than or equal to the error threshold, and the modified pose is determined as the target pose of the parallel ankle joint.

7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The processor implements the steps of the pose determination method of the parallel ankle joint of the robot according to any one of claims 1 to 5 when the computer program is executed.

8. A computer program product, characterised in that, A computer program is included, and the computer program is executed to implement the steps of the pose determination method of the parallel ankle joint of the robot according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Multi-space kinematics modeling method and device for rope-driven agile space manipulator

    CN118528272A

  • Method of controlling robot and robot

    US20130190926A1