Pose determination method, device, equipment and product for parallel ankle joints of robot
By using the Jacobian matrix to establish the mapping relationship between the posture of the parallel ankle joint and the encoder position data, the problems of low accuracy and long iteration time of parallel structure attitude solving in the prior art are solved, and precise posture solution and efficient motion control of the parallel ankle joint are realized.
Patent Information
- Application Number
- CN202411983012.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-17
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2044-12-17
AI Technical Summary
The existing posture solvers are mainly suitable for kinematic solutions of series configurations, but not for parallel structures. The general solution methods have low accuracy for parallel structures and are too long iteration time.
By obtaining the actual encoder position data of the motor and the Jacobian matrix, the mapping relationship between the end posture of the parallel ankle joint and the position data of the motor encoder is established, and the Jacobian matrix is used to solve the target posture of the parallel ankle joint.
The precise posture solution of the parallel ankle joint is realized, the efficiency and accuracy of motion control are improved, and the problems of low resolution accuracy and long iteration time of parallel structures in the prior art are solved.
Smart Images

Figure CN119910645A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of robotics technology, and in particular, relates to a method, device, equipment and product for determining the position and posture of a parallel ankle joint of a robot. Background Art
[0002] Large humanoid robots must rely on the coordinated movement and stable control of their hip, knee, and ankle joints to achieve walking. In order to take into account the robot's freedom of movement in space and the need for lightweight foot ends, most existing humanoid robots use a bionic parallel ankle joint structure design. However, most existing attitude solvers are suitable for kinematic solutions of serial configurations, not parallel structures. Some general solution methods have problems such as low accuracy and long iteration time for solving parallel structures. Summary of the invention
[0003] The embodiments of the present application provide a method, device, equipment and product for determining the position and posture of the parallel ankle joint of a robot, which can use the Jacobian matrix to solve the posture of the parallel ankle joint to control the motion of the robot.
[0004] A first aspect of an embodiment of the present application provides a method for determining the position and posture of a parallel ankle joint of a robot, comprising: obtaining actual encoder position data of a motor, wherein the motor is used to control the movement of the parallel ankle joint; obtaining a Jacobian matrix, wherein the Jacobian matrix is used to establish a mapping relationship between the end posture of the parallel ankle joint and the encoder position data of the motor; and determining the target posture 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 posture of the parallel ankle joint according to the actual encoder position data and the Jacobian matrix includes: obtaining a preset initial posture; performing an inverse operation according to the initial posture to obtain an encoder position solution result of the motor; comparing the encoder position solution 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 posture according to the Jacobian matrix, and redetermining the position error according to the corrected posture, until the position error is less than or equal to the error threshold, and then determining the corrected posture as the target posture.
[0006] In some embodiments of the first aspect, the correcting the initial posture according to the Jacobian matrix includes: multiplying the position error and the Jacobian matrix to determine a posture correction value; and correcting the initial posture according to the posture correction value to obtain the corrected posture.
[0007] In some embodiments of the first aspect, the Jacobian matrix includes a first Jacobian matrix expression that is universal for any structure and a second Jacobian matrix expression for the parallel ankle joint, and the inverse operation is performed based on the initial posture to obtain the encoder position solution result of the motor, including: multiplying the inverse matrix of the first Jacobian matrix, the inverse matrix of the second Jacobian expression and the initial posture to obtain the encoder position solution 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 posture to obtain the encoder position solution result includes: multiplying the first Jacobian matrix, the inverse matrix of the second Jacobian expression, the rotation matrix and the posture of the parallel ankle joint to obtain the encoder position solution result, wherein the rotation matrix is used to convert the coordinates of the world coordinate system into the coordinates of the posture 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 end; and multiplying the velocity vector expression by a motor connecting rod 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 retractable device to adjust the pitch angle and / or roll angle of the parallel ankle joint.
[0011] A second aspect of an embodiment of the present application provides a device for determining the posture of a parallel ankle joint of a robot, comprising: a motor data acquisition unit, used to acquire 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, used to acquire a Jacobian matrix, wherein the Jacobian matrix is used to establish a mapping relationship between the posture of the parallel ankle joint and the encoder position data of the motor; and a posture determination unit, used to determine the target posture of the parallel ankle joint based on the actual encoder position data and the Jacobian matrix.
[0012] A third aspect of an embodiment of the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the method for determining the posture of the parallel ankle joint of the robot when executing the computer program.
[0013] A fourth aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method for determining the position and posture of the parallel ankle joint of the robot are implemented.
[0014] A fifth aspect of an embodiment of the present application provides a computer program product. When the computer program product is run on an electronic device, the electronic device executes the steps of the above-mentioned method for determining the position and posture of the parallel ankle joint of the robot.
[0015] In an embodiment of the present application, actual encoder position data of a motor that controls the movement of a parallel ankle joint is obtained, and a target posture of the parallel ankle joint is determined based on a mapping relationship between the posture of the parallel ankle joint and the encoder position data of the motor established based on the actual encoder position data and the Jacobian matrix. The posture of the parallel ankle joint can be solved using the Jacobian matrix to perform motion control on the robot. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0017] Figure 1 It is a schematic diagram of the implementation flow of a method for determining the position and posture of a parallel ankle joint of a robot provided in an embodiment of the present application;
[0018] Figure 2 is a schematic diagram of a parallel ankle joint provided in an embodiment of the present application;
[0019] Figure 3 It is a schematic diagram of a specific implementation process of obtaining the Jacobian matrix provided in an embodiment of the present application;
[0020] Figure 4 It is a schematic diagram of a specific implementation process of determining a target posture provided in an embodiment of the present application;
[0021] Figure 5 It is a schematic structural diagram of a device for determining the position and posture of a parallel ankle joint of a robot provided in an embodiment of the present application;
[0022] Figure 6 It is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0023] In order to make the purpose, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work are protected by the present application.
[0024] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.
[0025] In the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.
[0026] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.
[0027] Large humanoid robots must rely on the coordinated movement and stable control of their hip, knee, and ankle joints to achieve walking. In order to take into account the robot's freedom of movement in space and the need for lightweight foot ends, most existing humanoid robots use a bionic parallel ankle joint structure design. However, most existing attitude solvers are suitable for kinematic solutions of serial configurations, not parallel structures. Some general solution methods have problems such as low accuracy and long iteration time for solving parallel structures.
[0028] In view of this, the present application proposes a method for determining the position and posture of a parallel ankle joint of a robot, which can use the Jacobian matrix to solve the posture of the parallel ankle joint so as to control the motion of the robot.
[0029] In order to illustrate the technical solution of the present application, a specific embodiment is provided below for illustration.
[0030] Figure 1 The present invention provides a schematic diagram of the implementation process of a method for determining the position and posture of a parallel ankle joint of a robot provided in an embodiment of the present invention, which can be applied to an electronic device. The electronic device can be an intelligent device such as a computer or a server for controlling the robot, or it can be the robot itself.
[0031] Specifically, the robot may be provided with a parallel ankle joint, which is also a parallel type ankle joint. The parallel ankle joint is a robot composed of one or more closed loops, and the coordinates of the joint points are interconnected.
[0032] Please refer to Figure 2 The parallel ankle joint of the robot can be provided with a motor, which can be a rotary motor, a linear motor, etc., for controlling the movement of the parallel ankle joint. Specifically, the end of the real ankle joint of the robot is point O, and the motor can be set at the lower leg position A of the robot. i Point, which is a passive ball joint; the motor end is set at B around the ankle joint i Point, which is the cross Hooke hinge. Figure 2 As shown, the same parallel ankle joint includes two motors, which are respectively set at points A1 and A2.
[0033] In some embodiments of the present application, the motor can be used to control the extension and retraction of the telescopic device to adjust the pitch angle (Pitch) and / or roll angle (Roll) of the parallel ankle joint. Specifically, the rotation of the motor rotor can be transmitted to the telescopic device through the transmission device, so that the telescopic device is extended and retracted, thereby realizing the rotation of the pitch angle and roll angle of the parallel ankle joint in two degrees of freedom.
[0034] Specifically, the method for determining the position and posture of the parallel ankle joint of the robot may include the following steps S101 to S103.
[0035] Step S101, obtaining 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 above encoder may be an incremental encoder, an absolute encoder or other types of encoders, which are not limited in this application.
[0037] Step S102, obtaining the Jacobian matrix.
[0038] Among them, the Jacobian matrix is a matrix in which the first-order partial derivatives are arranged in a certain way, which can be used to establish a mapping relationship between the posture of the parallel ankle joint and the encoder position data of the motor.
[0039] Step S103, determining the target posture of the parallel ankle joint according to the actual encoder position data and the Jacobian matrix.
[0040] In the implementation of the present application, based on the mapping relationship between the posture of the parallel ankle joint and the encoder position data of the motor established by the Jacobian matrix, the actual encoder position data can be mapped to the target posture of the parallel ankle joint to achieve the estimation of the robot end position posture. Wherein, the target posture of the parallel ankle joint is the real end posture of the parallel ankle joint of the robot.
[0041] In an embodiment of the present application, actual encoder position data of the motor that controls the movement of the parallel ankle joint is obtained, and the target posture of the parallel ankle joint is determined based on the mapping relationship between the end 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 posture of the parallel ankle joint can be solved using the Jacobian matrix to control the motion of the robot.
[0042] In some embodiments of the present application, Figure 3 As shown, obtaining the Jacobian matrix may include: step S301 to step S302.
[0043] Step S301, determining the velocity vector expression between the motor and the parallel ankle joint end.
[0044] Specifically, according to Figure 2 The parallel ankle joint shown in the figure and the structural description of the parallel ankle joint in the previous text establish the first coordinate system with the ankle joint end point O as the coordinate origin, the robot forward direction as the x-axis, the lateral direction as the y-axis, and the z-axis perpendicular to the ground. According to the structure of the parallel ankle joint, the following geometric relationship 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 vector expressions. i is the setting point of the ith motor, B i is the motor end of the i-th motor.
[0047] Differentiate equation (1) to obtain the velocity vector expression:
[0048]
[0049] Among them, v Bi is the linear velocity of point Bi, ω Bi is the angular velocity of point Bi, r Bi is the vector expression of the OB connecting rod, is the rotational expression of the motor shaft, is the motion speed of the i-th linear motor, r AiBi A i B i The connecting rod vector value, ω AiBi Connecting rod A i B iangular velocity.
[0050] Step S302, multiplying the velocity vector expression by the motor connecting rod vector on the left to obtain the Jacobian matrix.
[0051] Specifically, multiply both sides of the velocity vector expression by r. AiBi , we can get:
[0052]
[0053] in, is the expression of the positive direction of the motor. At the initial position, Figure 2 The two motors shown have the same direction, and the extension is positive. In the first coordinate system, the direction is expressed as: is the movement speed of the i-th linear motor. Because the motor is a moving pair, the value here should be defined as the propulsion speed of the motor, with the extension amount being positive and the shortening amount being negative.
[0054] The Jacobian matrix relationship from the end of the parallel ankle joint to the motor end can be established by formula (3) as follows:
[0055]
[0056] Among them, J x is the first Jacobian matrix expression universal for any structure, and J θ is the second Jacobian matrix expression of the parallel ankle joint.
[0057] In this way, the Jacobian matrix of the parallel ankle joint can be calculated based on the velocity vector method.
[0058] In some embodiments of the present application, Figure 4 As shown, determining the target posture of the parallel ankle joint according to the actual encoder position data and the Jacobian matrix may include: steps S401 to S404.
[0059] Step S401, obtaining a preset initial posture.
[0060] Among them, the initial pose is an assumed pose and can be set according to actual needs.
[0061] Step S402, performing an inverse operation based on the initial posture to obtain the encoder position solution result of the motor.
[0062] Specifically, according to the mapping relationship between the end posture of the parallel ankle joint and the encoder position data of the motor established by the Jacobian matrix, an inverse operation can be performed according to the initial posture to deduce the encoder position solution result corresponding to the initial posture.
[0063] Specifically, from the first Jacobian matrix and the second Jacobian expression, we can get:
[0064]
[0065] in, is the terminal posture of the parallel ankle joint, is the general expression of the end position, v and ω are the linear velocity and angular velocity respectively.
[0066] Thus, the first Jacobian matrix J x , the inverse matrix of the second Jacobian expression (J θ ) -1 Multiply it by the initial pose to get the encoder position solution.
[0067] Considering It is based on the expression of the world coordinate system. In this application, the real degrees of freedom of the parallel ankle joint are the pitch angle Pitch and the roll angle Roll. It is necessary to set a transformation matrix to convert the rotation around the world coordinate system to the posture coordinate system of the parallel ankle joint. Expressed as the terminal pose in the pose coordinate system, we have:
[0068]
[0069] Among them, G is the rotation matrix, which is used to convert the coordinates of the world coordinate system into the coordinates of the posture coordinate system of the parallel ankle joint.
[0070] In some embodiments of the present application, the rotation matrix is obtained according to the roll angle of the robot.
[0071] Specifically, the rotation matrix can be expressed 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 of the forward 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 posture to obtain the encoder position solution result can include: multiplying the first Jacobian matrix, the inverse matrix of the second Jacobian expression, the rotation matrix and the posture of the parallel ankle joint to obtain the encoder position solution result.
[0077] Step S403, comparing the encoder position calculation result with the actual encoder position data to obtain the position error.
[0078] Specifically, the encoder position calculation result and the actual encoder position data may be subtracted to obtain the position error between the two.
[0079] Step S404, when the position error is greater than the error threshold, the initial posture is corrected according to the Jacobian matrix, and the position error is re-determined according to the corrected posture, until the position error is less than or equal to the error threshold, and the corrected posture is determined as the target posture.
[0080] In the embodiments of the present application, the position error may represent the error between the initial position and the actual position of the parallel ankle joint.
[0081] When the position error is less than or equal to the error threshold, it means 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 means 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 is re-determined according to the corrected pose until the position error is less than or equal to the error threshold, and the corrected pose is determined as the target pose.
[0083] Specifically, the position error and the Jacobian matrix may be multiplied to determine a posture correction value, and the initial posture may be corrected according to the posture correction value to obtain a corrected posture.
[0084] The method of multiplying the position error and the Jacobian matrix to determine the posture correction value can refer to the above formula (5) and formula (8). According to the posture correction value, the initial posture can be corrected to obtain the corrected posture. The corrected posture can be re-inverted according to the inverse operation and compared with the actual encoder position data to obtain a new position error. When the position error is less than or equal to the error threshold, it means that the error between the initial posture and the actual posture is small, and the initial posture can be used as the target posture.
[0085] In the actual robot control, the actual encoder position data of the motor can be read by 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 the error approximation method to achieve the forward solution process, which is conducive to quickly and accurately solving the forward kinematics of the parallel ankle joint of the humanoid robot, so that the robot can efficiently estimate the state of its own ankle joint for later motion control.
[0086] It should be noted that, for the sake of simplicity of description, the aforementioned method embodiments are all expressed as a series of action combinations, but those skilled in the art should know that the present application is not limited to the described order of actions, because according to the present application, certain steps can be performed in other orders.
[0087] like Figure 5 Shown is a schematic structural diagram of a device 500 for determining the position and posture of a parallel ankle joint of a robot provided in an embodiment of the present application, wherein the device 500 for determining the position and posture of a parallel ankle joint of a robot is configured on an electronic device.
[0088] Specifically, the device 500 for determining the position and posture of the parallel ankle joint of the robot may include:
[0089] A motor data acquisition unit 501, used to acquire actual encoder position data of a motor, the motor being used to control the parallel ankle joint motion;
[0090] A Jacobian matrix acquisition unit 502, used to acquire a Jacobian matrix, wherein the Jacobian matrix is used to establish a mapping relationship between the posture of the parallel ankle joint and the encoder position data of the motor;
[0091] The posture determination unit 503 is used to determine the target posture of the parallel ankle joint according to the actual encoder position data and the Jacobian matrix.
[0092] In some embodiments of the present application, the above-mentioned posture determination unit 503 is specifically used to: obtain a preset initial posture; perform inverse operation according to the initial posture to obtain the encoder position solution result of the motor; compare the encoder position solution result with the actual encoder position data to obtain a position error; when the position error is greater than an error threshold, correct the initial posture according to the Jacobian matrix, and redetermine the position error according to the corrected posture, until the position error is less than or equal to the error threshold, and then determine the corrected posture as the target posture.
[0093] In some embodiments of the present application, the above-mentioned posture determination unit 503 is specifically used to: multiply the position error and the Jacobian matrix to determine the posture correction value; and correct the initial posture according to the posture correction value to obtain the corrected posture.
[0094] In some embodiments of the present application, the Jacobian matrix includes a first Jacobian matrix expression that is universal for any structure and a second Jacobian matrix expression for the parallel ankle joint, and the above-mentioned posture 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 posture to obtain the encoder position solution result.
[0095] In some embodiments of the present application, the above-mentioned posture 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 posture of the parallel ankle joint to obtain the encoder position solution result, wherein the rotation matrix is used to convert the coordinates of the world coordinate system into the coordinates of the posture coordinate system of the parallel ankle joint.
[0096] In some embodiments of the present 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; multiply the motor connecting rod vector by the velocity vector expression to obtain the Jacobian matrix.
[0097] In some embodiments of the present application, the motor is used to control the extension and retraction of the retractable device to adjust the pitch angle and / or roll angle of the parallel ankle joint.
[0098] It should be noted that, for the convenience and simplicity of description, the specific working process of the parallel ankle joint position determination device 500 of the robot can be referred to Figures 1 to 4 The corresponding process of the method will not be repeated here.
[0099] like Figure 6 , which is a schematic diagram of an electronic device provided in an embodiment of the present 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 posture determination program for a parallel ankle joint of a robot. When the processor 60 executes the computer program 62, the steps in the above-mentioned embodiments of the posture determination method for the parallel ankle joint of the robot are implemented, such as Figure 1 Alternatively, when the processor 60 executes the computer program 62, the functions of each module / unit in the above-mentioned device embodiments are realized, for example Figure 5 The functions of the motor data acquisition unit 501, the Jacobian matrix acquisition unit 502 and the posture determination unit 503 are shown.
[0100] The computer program may be divided into one or more modules / units, which are stored in the memory 61 and executed by the processor 60 to complete the present application. The one or more modules / units may be a series of computer program instruction segments capable of completing specific functions, which are used to 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 posture determination unit. The specific functions of each unit are as follows: a motor data acquisition unit, used to acquire the actual encoder position data of the motor, the motor is used to control the movement of the parallel ankle joint; a Jacobian matrix acquisition unit, used to acquire the Jacobian matrix, the Jacobian matrix is used to establish a mapping relationship between the posture of the parallel ankle joint and the encoder position data of the motor; a posture determination unit, used to determine the target posture of the parallel ankle joint according to 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 appreciate that Figure 6 These are merely examples of electronic devices and do not constitute a limitation of the electronic device. The electronic device may include more or fewer components than those shown in the figure, or a combination of certain components, or different components. For example, the electronic device may also include input and 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 (DSP), application-specific integrated circuits (ASIC), 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, etc.
[0104] The memory 61 may be an internal storage unit of the electronic device, such as a hard disk or memory of the electronic device. The memory 61 may also be an external storage device of the electronic device, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the electronic device. Further, the memory 61 may also include both an internal storage unit of the electronic device and an external storage device. The memory 61 is used to store the computer program and other programs and data required by the electronic device. The memory 61 may also be used to temporarily store data that has been output or is to be output.
[0105] It should be noted that, for the convenience and brevity of description, the structure of the above electronic device can also refer to the specific description of the structure in the method embodiment, which will not be repeated here.
[0106] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by 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 embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.
[0107] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0108] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0109] In the embodiments provided in the present 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 schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0110] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0111] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0112] If the integrated module / unit is implemented in the form of 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, the present application implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable medium can be appropriately increased or decreased 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 electric carrier signals and telecommunication signals.
[0113] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.
Claims
1. A method for determining the position and posture of a parallel ankle joint of a robot, characterized in that: include: Acquiring actual encoder position data of a motor used to control parallel ankle joint motion; Obtaining a Jacobian matrix, wherein the Jacobian matrix is used to establish a mapping relationship between the end posture of the parallel ankle joint and the encoder position data of the motor; The target posture of the parallel ankle joint is determined according to the actual encoder position data and the Jacobian matrix.
2. The method for determining the position and posture of the parallel ankle joint of the robot according to claim 1, characterized in that: Determining the target posture of the parallel ankle joint according to the actual encoder position data and the Jacobian matrix includes: Get the preset initial pose; Performing an inverse operation according to the initial posture to obtain an encoder position solution result of the motor; Compare the encoder position solution result with the actual encoder position data to obtain a position error; When the position error is greater than the error threshold, the initial posture is corrected according to the Jacobian matrix, and the position error is re-determined according to the corrected posture until the position error is less than or equal to the error threshold, and the corrected posture is determined as the target posture.
3. The method for determining the position and posture of the parallel ankle joint of the robot according to claim 2, characterized in that: The correcting the initial posture according to the Jacobian matrix includes: Multiplying the position error and the Jacobian matrix to determine a posture correction value; The initial posture is corrected according to the posture correction value to obtain the corrected posture.
4. The method for determining the position and posture of the parallel ankle joint of a robot according to claim 2, characterized in that: The Jacobian matrix includes a first Jacobian matrix expression universal to any structure and a second Jacobian matrix expression of the parallel ankle joint, and the inverse operation is performed according to the initial posture to obtain the encoder position solution result of the motor, including: The inverse matrix of the first Jacobian matrix, the inverse matrix of the second Jacobian expression and the initial posture are multiplied to obtain the encoder position solution result.
5. The method for determining the position and posture of the parallel ankle joint of the robot according to claim 4, characterized in that: The step of multiplying the inverse matrix of the first Jacobian matrix, the inverse matrix of the second Jacobian expression, and the initial posture to obtain the encoder position solution result includes: The first Jacobian matrix, the inverse matrix of the second Jacobian expression, the rotation matrix and the posture of the parallel ankle joint are multiplied to obtain the encoder position solution result, wherein the rotation matrix is used to convert the coordinates of the world coordinate system into the coordinates of the posture coordinate system of the parallel ankle joint.
6. The method for determining the position and posture of the parallel ankle joint of a robot according to claim 1, characterized in that: The obtaining of the Jacobian matrix comprises: Determine a velocity vector expression between the motor and the parallel ankle joint end; The velocity vector expression is multiplied by the motor connecting rod vector on the left to obtain the Jacobian matrix.
7. The method for determining the position and posture of a parallel ankle joint of a robot according to any one of claims 1 to 6, characterized in that: The motor is used to control the extension and retraction of the retractable device to adjust the pitch angle and / or roll angle of the parallel ankle joint.
8. A device for determining the position and posture of a parallel ankle joint of a robot, characterized in that: include: a motor data acquisition unit, used to acquire actual encoder position data of a motor, the motor being used to control the motion of a parallel ankle joint; A Jacobian matrix acquisition unit, used for acquiring a Jacobian matrix, wherein the Jacobian matrix is used for establishing a mapping relationship between the posture of the parallel ankle joint and the encoder position data of the motor; A posture determination unit is used to determine the target posture of the parallel ankle joint according to the actual encoder position data and the Jacobian matrix.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method for determining the position and posture of the parallel ankle joint of the robot as described in any one of claims 1 to 7 are implemented.
10. A computer program product, characterized in that It comprises a computer program, which, when executed, implements the steps of the method for determining the position and posture of the parallel ankle joint of the robot as claimed in any one of claims 1 to 7.
Citation Information
Patent Citations
Pose / force testing device based on six-degree-of-freedom flexible parallel mechanism
CN110986919A
Robot motion correction method and device, robot control equipment and storage medium
CN114326769A
Robot tail end pose online compensation method and device based on optical positioning system
CN117414198A
Multi-space kinematics modeling method and device for rope-driven agile space manipulator
CN118528272A
Method of controlling robot and robot
US20130190926A1
Cited By
Parallel robot pose determination method and device applied to cross-fault scene
CN121267923A
Method and device for determining torque of parallel ankle joint mechanism with separated rotation centers
CN122490744A
Method and device for determining torque of parallel ankle joint mechanism with rotation center separation
CN122490744B