Null space projection posture control method, device and equipment of underactuated manipulator and robot
By employing a zero-space projection attitude control method, the zero-space basis matrix is calculated and the joint angles are optimized in a low-dimensional parameter space. This solves the problem of low real-time performance in attitude control of under-degree-of-freedom robotic arms and enables fast and accurate attitude adjustment.
Patent Information
- Application Number
- CN202611276629.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-21
- Publication Date
- 2026-11-06
AI Technical Summary
The attitude control of a robot arm with low degrees of freedom suffers from low real-time performance. In existing technologies, attitude adjustment can disrupt the reached end position, and there is coupling interference between position control and attitude adjustment, which cannot meet the efficiency requirements of online real-time control.
The null-space projection attitude control method is adopted. By acquiring the target pose and the current joint state, the null-space basis matrix of the position Jacobian matrix is calculated, and the joint angle correction is restricted to a linear combination of the null-space basis matrices. The target parameter vector with the minimum rotational deviation is searched in the low-dimensional parameter space to determine the target joint angle.
This improves the real-time performance of attitude control for under-degree-of-freedom robotic arms, enabling precise and optimal joint angles to be obtained in a single solution, reducing solution time and meeting the efficiency requirements of online real-time control.
Smart Images

Figure CN123040046A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotic arm control, and in particular to a method, device, equipment and robot for zero-space projection attitude control of a robotic arm with insufficient degrees of freedom. Background Technology
[0002] In the field of industrial robotics, a six-degree-of-freedom (DOF) serial robotic arm is the standard configuration for achieving arbitrary position and attitude control of the end effector in three-dimensional space. However, in applications such as photovoltaic cleaning robots and hydraulic engineering machinery, due to limitations such as structural cost and drive method, the actual number of controllable joints of the robotic arm is often less than the number of degrees of freedom of the target pose. For example, a hydraulic robotic arm with five controllable joints but lacking one rotational degree of freedom at the end effector is called a low-DOF robotic arm. For low-DOF robotic arms, related technologies typically use a position-only inverse kinematics solution approach, which abandons attitude constraints and only guarantees that the end effector reaches the target position.
[0003] However, after obtaining the joint angle solution from only the inverse position solution, the end effector attitude remains uncontrolled. In related technologies, linear attitude compensation is typically used to adjust the end effector attitude, directly and linearly adding the end effector attitude deviation to the current angle of the corresponding joint. Since the joint adjusted by attitude compensation also affects the end effector position, attitude adjustment can disrupt the already reached end effector position. This creates coupling interference between position control and attitude adjustment, requiring multiple iterations to alternately correct position and attitude. The time-consuming nature of a single pose calculation and poor real-time performance fail to meet the efficiency requirements of online real-time control.
[0004] In summary, the current posture control of low-degree-of-freedom robotic arms suffers from low real-time performance. Summary of the Invention
[0005] This application aims to propose a zero-space projection attitude control method, device, equipment, and robot for a low-degree-of-freedom robotic arm, which can improve the real-time performance of attitude control for low-degree-of-freedom robotic arms.
[0006] In a first aspect, embodiments of this application provide a zero-space projection attitude control method for a manipulator with insufficient degrees of freedom, comprising the following steps: Obtain the target pose and the current joint state of the under-degree-of-freedom robotic arm, wherein the target pose includes the target position and the target orientation; Based on the target position, perform position-only inverse kinematics solution to obtain the basic solution of joint angles that satisfies the end-effector position constraint; At the robotic arm configuration corresponding to the basic solution of the joint angle, calculate the position Jacobian matrix of the end position with respect to each controllable joint of the under-degree-of-freedom robotic arm, and extract the null basis matrix of the position Jacobian matrix. Taking the rotational deviation between the end pose corresponding to the current joint state and the target pose as the optimization objective, the joint angle correction is restricted to a linear combination of the null basis matrices, and the target parameter vector that minimizes the rotational deviation is searched in the low-dimensional parameter space spanned by the null basis matrices. The target joint angle is determined based on the joint angle fundamental solution, the null space basis matrix, and the target parameter vector, and the movement of the under-degree-of-freedom robotic arm is controlled based on the target joint angle.
[0007] According to some embodiments of this application, the extraction of the null basis matrix of the position Jacobian matrix includes: Singular value decomposition is performed on the position Jacobian matrix to obtain the right singular vector matrix; The column vectors corresponding to the zero singular values in the right singular vector matrix are determined as the column vectors of the null space basis matrix, thus forming the null space basis matrix; In the case where the number of controllable joints of the under-degree-of-freedom robotic arm is five and the number of constraints of the end-effector position constraint is three, the position Jacobian matrix is three rows and five columns with a rank of three, the null basis matrix is five rows and two columns, and the low-dimensional parameter space is a two-dimensional parameter space.
[0008] According to some embodiments of this application, the rotation deviation is an attitude error vector, which is obtained by performing a rotation matrix logarithmic mapping on the product of the transpose of the current attitude rotation matrix and the target attitude rotation matrix, and the optimization objective is the norm square of the attitude error vector; The search for the target parameter vector that minimizes the rotational deviation includes: iteratively searching for the gradient of the parameter vector in the low-dimensional parameter space according to the optimization objective, wherein the gradient is determined by the product of the transpose of the attitude error vector, the attitude Jacobian matrix, and the null basis matrix, and the attitude Jacobian matrix is used to describe the rate of change of end attitude caused by the change of each controllable joint angle.
[0009] According to some embodiments of this application, the method further includes: Obtain the physical limit range of each controllable joint; The physical limit range is converted into upper and lower bound constraints of the search variables in the low-dimensional parameter space, so that the joint angle of each controllable joint is always within the physical limit range during the search process.
[0010] According to some embodiments of this application, determining the target joint angle based on the fundamental solution of the joint angle, the null basis matrix, and the target parameter vector includes: The optimized joint angle is determined by the sum of the products of the basic solution of the joint angle, the null basis matrix, and the target parameter vector. Determine the positional deviation between the end position corresponding to the optimized joint angle and the target position; Based on the pseudo-inverse matrix of the position Jacobian matrix and the position deviation, the position fine-tuning correction amount is determined, and the position fine-tuning correction amount is the minimum norm solution among the joint adjustment amounts to eliminate the position deviation. The target joint angle is determined based on the sum of the optimized joint angle and the position fine-tuning correction.
[0011] According to some embodiments of this application, the under-degree-of-freedom robotic arm includes a parallel linkage mechanism, the geometric constraints of which are pre-embedded in a forward kinematics model; The position Jacobian matrix is calculated based on the positive kinematics model under geometric space angles, and the search is performed under the geometric space angles. Before controlling the movement of the under-degree-of-freedom robotic arm based on the target joint angle, the method further includes: uniformly converting the target joint angle in geometric space into the actuator space angle.
[0012] According to some embodiments of this application, controlling the movement of the under-degree-of-freedom robotic arm based on the target joint angle includes: Starting from the current joint state and ending at the target joint angle, a smooth motion trajectory that satisfies the joint velocity and joint acceleration limits is generated. The smooth motion trajectory is sent to the motion controller of the under-degree-of-freedom robotic arm to control the movement of the under-degree-of-freedom robotic arm.
[0013] Secondly, embodiments of this application provide a zero-space projection attitude control device for a manipulator with insufficient degrees of freedom, comprising: The data acquisition module is used to acquire the target pose and the current joint state of the under-degree-of-freedom robotic arm, wherein the target pose includes the target position and the target orientation; The inverse kinematics module is used to perform position-only inverse kinematics solution based on the target position to obtain the basic solution of joint angles that satisfies the end-effector position constraint; The null space extraction module is used to calculate the position Jacobian matrix of each controllable joint of the under-degree-of-freedom manipulator with respect to the end position at the manipulator configuration corresponding to the basic solution of the joint angle, and to extract the null space basis matrix of the position Jacobian matrix. The attitude optimization module is used to optimize the rotational deviation between the end pose corresponding to the current joint state and the target pose, limit the joint angle correction to a linear combination of the null basis matrices, and search for the target parameter vector that minimizes the rotational deviation in the low-dimensional parameter space spanned by the null basis matrices. The motion control module is used to determine the target joint angle based on the joint angle fundamental solution, the null space basis matrix and the target parameter vector, and to control the motion of the under-degree-of-freedom robotic arm based on the target joint angle.
[0014] Thirdly, embodiments of this application provide an electronic device, the device comprising: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the zero-space projection attitude control method for the under-degree-of-freedom robotic arm as described in the first aspect.
[0015] Fourthly, embodiments of this application provide a robot, including a robot body, a robotic arm disposed on the robot body, and a controller, wherein the robotic arm is a low-degree-of-freedom robotic arm, and the controller is used to operate the method described in the first aspect.
[0016] The zero-space projection attitude control method, apparatus, device, and robot for a less-than-freedom robotic arm according to the embodiments of this application have at least the following beneficial effects: In this embodiment, the null basis matrix of the position Jacobian matrix is extracted from the robotic arm configuration corresponding to the basic solution of joint angles obtained from the inverse position solution alone. Since joint motion along the column vector direction of the null basis matrix does not change the end-effector position in the first order sense, the joint angle correction is restricted to a linear combination of the null basis matrices. This is equivalent to strictly restricting the attitude adjustment to the joint motion direction that does not change the end-effector position. Thus, the position accuracy is analytically maintained throughout the attitude optimization process, eliminating the need for multiple iterative corrections between position and attitude adjustments as required by related technologies. A single solution can obtain the joint angles with accurate position and optimal attitude. Simultaneously, the search space for attitude optimization is analytically reduced from a high-dimensional joint space to a low-dimensional parameter space spanned by the null basis matrices, significantly reducing the search size and achieving millisecond-level solution time per iteration. This improves the real-time performance of attitude control for under-degree-of-freedom robotic arms.
[0017] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description
[0018] The present application will be further described below with reference to the accompanying drawings and embodiments, wherein: Figure 1 A flowchart illustrating an embodiment of the zero-space projection attitude control method for a manipulator with insufficient degrees of freedom provided in this application; Figure 2 A schematic diagram of the zero-space projection attitude control device for the under-degree-of-freedom robotic arm provided in this application; Figure 3A schematic diagram of the structure of the electronic device provided in this application. Detailed Implementation
[0019] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.
[0020] In this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, without necessarily requiring or implying any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.
[0021] A manipulator with insufficient degrees of freedom (DOF) is a serial manipulator where the actual number of controllable joints is less than the number of degrees of freedom of the target pose. For example, in a photovoltaic cleaning robot, a hydraulic manipulator mounted on a mobile chassis has six physical joints, of which the sixth joint is uncontrollable due to structural limitations, leaving five controllable joints. The end effector, however, has a target pose of six degrees of freedom in three-dimensional space. This manipulator is thus an example of a manipulator with insufficient DDF. For such manipulators, related technologies use inverse kinematics solutions based solely on position. After obtaining the joint angles, the end effector's pose remains uncontrolled. If pose compensation is performed using linear superposition, the adjusted joints also affect the end effector position, causing the already achieved position to be disrupted. This results in coupling interference between position and pose, requiring multiple iterative corrections. A single pose calculation takes seconds, failing to meet the efficiency requirements of online real-time control.
[0022] To address the problems of the prior art, this application provides a method, apparatus, device, and robot for zero-space projection attitude control of a manipulator with insufficient degrees of freedom. The zero-space projection attitude control method for a manipulator with insufficient degrees of freedom provided in this application is described below.
[0023] Figure 1 This diagram illustrates a flowchart of a zero-space projection attitude control method for a under-degree-of-freedom robotic arm provided in an embodiment of this application. The method is applied to an electronic device, which can be an industrial control computer mounted on the robot body containing the robotic arm, or a host control device communicating with the motion controller of the robotic arm; the method is not limited thereto. Figure 1 As shown, the zero-space projection attitude control method of the under-degree-of-freedom robotic arm includes the following steps S101 to S105.
[0024] Step S101: Obtain the target pose and the current joint state of the under-degree-of-freedom robotic arm. The target pose includes the target position and the target orientation.
[0025] In this step, the target pose refers to the spatial pose that the end effector of the robotic arm is expected to reach, which includes the target position and the target orientation. The target position can be the three-dimensional coordinates of a target point in the robotic arm's base coordinate system. For example, the target position can be represented as (x, y, z), where x, y, and z are the three-dimensional coordinate components of the target position in the robotic arm's base coordinate system, and the unit can be meters. The target orientation refers to the orientation of the end effector in three-dimensional space, which can be represented using a unit quaternion. For example, the target orientation can be represented as (qx, qy, qz, qw), where qw is the real part of the quaternion, and qx, qy, and qz are the imaginary parts of the quaternion; alternatively, the target orientation can also be represented using a rotation matrix or Euler angles, which is not limited here.
[0026] The aforementioned acquisition of the target pose can be achieved by the electronic device receiving target pose instructions from the upper-level task system through a communication interface. For example, in a robotic arm control system based on Robot Operating System 2 (ROS2), the electronic device can receive target pose instructions from the upper-level task system, such as the sensing system, through the ROS2 service interface or topic subscription.
[0027] The aforementioned current joint state refers to the angle state of each controllable joint of the robotic arm at the current moment, which may include the current joint angle of each controllable joint. Obtaining the current joint state of a less-than-freedom robotic arm can be achieved by having an electronic device subscribe to a joint state topic to obtain the real-time joint state of the robotic arm. For example, in a ROS2-based robotic arm control system, the joint state acquisition node can read the encoder or hydraulic cylinder displacement of each joint via the CAN bus, convert it, and then publish a joint state message of type sensor_msgs / msg / JointState to the / joint_states topic at a fixed frequency (e.g., 50 Hz). The position field of this message contains the current actuator angle values of the five controllable joints arm_joint1 to arm_joint5 of the robotic arm. An electronic device can obtain the current joint state by subscribing to this topic.
[0028] It should be noted that for robotic arms containing parallel linkage mechanisms, the current joint states mentioned above can be geometrical space angles obtained by converting actuator angles through the kinematic relationships of the parallel linkages, and used as initial values for subsequent calculations. Here, geometrical space angles refer to the rotation angles of each joint in the kinematic model; actuator space angles refer to the actual output angles of the drive device (such as hydraulic cylinders); for joints containing parallel linkage mechanisms, there is a conversion relationship between the two determined by the geometric relationships of the mechanism.
[0029] In addition, the electronic device can load the physical limit range of each controllable joint from the configuration system. This physical limit range can come from the Unified Robot Description Format (URDF) model or mechanical calibration data, and serve as the boundary for subsequent null space parameter search.
[0030] Step S102: Perform position-only inverse kinematics solution based on the target position to obtain the basic solution of joint angles that satisfies the end-effector position constraint.
[0031] In this step, the electronic device can input the target position in the target pose into the kinematics solver. The kinematics solver, in position-constraint-only mode, uses the current joint state as the initial seed and calculates the basic solution θ_base of the joint angle that satisfies the end position reaching the target position through a numerical iteration method.
[0032] In this context, "position-only inverse kinematics" refers to a solution method that uses the endpoint position reaching the target position as the constraint for inverse kinematics calculation. This means only the position component in the target pose is retained as a constraint, while attitude constraints are discarded. The endpoint position constraint refers to the constraint that the position of the end effector matches the target position. The basic joint angle solution θ_base is a set of joint angles obtained from the position-only inverse kinematics solution that satisfies the endpoint position constraint. It is a vector composed of the angles of each controllable joint; for example, when there are five controllable joints, θ_base is a five-dimensional vector. In this case, the endpoint position accurately reaches the target position, but the endpoint attitude is uncontrolled.
[0033] Taking a manipulator with five controllable joints and three position constraints as an example, the five joint angles solve for three position constraints, forming a redundant system of five unknowns and three equations. The θ_base returned by the kinematic solver is a particular solution that satisfies the end-effector position constraint. The redundant degree of freedom is two, that is, there is a two-dimensional joint adjustment space. Adjusting the joint angles in this joint adjustment space does not change the end-effector position, but it can change the end-effector posture. This joint adjustment space is the null space mentioned below.
[0034] Step S103: At the manipulator configuration corresponding to the joint angle basic solution, calculate the position Jacobian matrix of each controllable joint of the under-degree-of-freedom manipulator for the end position, and extract the null basis matrix of the position Jacobian matrix.
[0035] In this step, the aforementioned robotic arm configuration refers to the relative positions and orientations of the robotic arm's links in space, uniquely determined by a set of joint angles. The basic joint angle solution θ_base is a set of joint angle values that ensures the end effector accurately reaches the target position. This set of joint angles uniquely determines the relative positions and orientations of the robotic arm's links in space, thus defining a configuration of the robotic arm. Calculating the position Jacobian matrix at the robotic arm configuration corresponding to the basic joint angle solution involves setting each controllable joint angle to the value of θ_base, and then, under this determined robotic arm spatial posture, using a pre-established positive kinematics model to calculate the rate of change matrix of the end effector position with small changes in each controllable joint angle. The positive kinematics model is a mathematical model that calculates the end effector pose based on each joint angle; it can be pre-established based on the link parameters of the robotic arm.
[0036] The aforementioned position Jacobian matrix J_p is a matrix describing the linear mapping relationship between joint angular velocity and end-effector linear velocity. Its i-th column represents the rate of change of end-effector position caused by a small unit change in the angle of the i-th controllable joint. For example, when there are five controllable joints and three position constraints, J_p is a 3x5 matrix.
[0037] The null space basis matrix N mentioned above refers to a matrix composed of a set of linearly independent vectors whose column vectors span the null space of the position Jacobian matrix. Here, the null space is the set of all vectors x that satisfy J_p·x = 0; in robotics, the null space of the position Jacobian matrix represents the set of joint motion directions that do not change the end effector position. Any adjustment of the joint angle along the column vector direction of the null space basis matrix N mathematically does not change the end effector position (first-order precision). For example, when J_p is 3x5 and its rank is 3 (i.e., the robotic arm is not in a singular configuration), the dimension of the null space is 5 minus 3 equals 2, and N is a 5x2 matrix.
[0038] Step S104: Taking the rotational deviation between the end pose corresponding to the current joint state and the target pose as the optimization objective, the joint angle correction is restricted to a linear combination of the null basis matrices. The target parameter vector that minimizes the rotational deviation is searched in the low-dimensional parameter space spanned by the null basis matrices.
[0039] In this step, the aforementioned rotational deviation refers to the rotational difference between the end effector posture corresponding to the current joint state and the target posture. It can be represented by an attitude error vector. The larger the magnitude of the attitude error vector, the greater the deviation between the current end effector posture and the target posture.
[0040] The joint angle correction Δθ mentioned above refers to the angle adjustment of each controllable joint superimposed on the basic solution of the joint angle. The joint angle correction is restricted to a linear combination of the zero-space basis matrices, that is, the joint angle correction satisfies the following formula (1): Δθ = N·α, and J_p·Δθ = 0; (1) In the formula, Δθ is the joint angle correction amount. For example, when there are five controllable joints, Δθ is a five-dimensional vector; N is the null basis matrix; α is the null parameter vector, whose dimension is the same as the number of columns of the null basis matrix N. For example, when N is five rows and two columns, α is a two-dimensional vector, and its two components are the optimization variables to be solved; N·α is the matrix product of the null basis matrix N and the null parameter vector α; 0 is the zero vector, and J_p·Δθ = 0 indicates that the joint angle correction amount does not produce end-effector position change (first-order precision).
[0041] Since all columns of N are in the null space of J_p, for any α, p(θ_base + N·α) is approximately equal to p_target, meaning the position is exactly unchanged in the first order. Here, p(·) is the end-effector position calculated by the forward kinematics model, and p_target is the target position. Therefore, the entire attitude search process does not require further verification or correction of the end-effector position constraints, thus achieving analytical decoupling between position accuracy and attitude optimization.
[0042] The search for the target parameter vector α that minimizes the rotational deviation within the low-dimensional parameter space spanned by the null basis matrix can be performed as follows: For each trial value of α, the end pose corresponding to the corrected joint angle θ_base + N·α is calculated using a forward kinematics model. The rotational deviation between this end pose and the target pose is evaluated. The search is iteratively performed to minimize this rotational deviation, and the α that minimizes the rotational deviation is the target parameter vector α. Since the number of components of the optimization variable α is equal to the dimension of the null space (e.g., two-dimensional), the search size is extremely small. Electronic devices can employ optimization algorithms that support upper and lower bound constraints on variables, such as gradient descent and the L-BFGS-B algorithm, for the search. These algorithms typically converge within five to twenty iterations, with a total computation time in the millisecond range.
[0043] Step S105: Determine the target joint angle based on the joint angle fundamental solution, the null space basis matrix and the target parameter vector, and control the movement of the under-degree-of-freedom robotic arm based on the target joint angle.
[0044] In this step, the target joint angles mentioned above refer to a set of joint angles ultimately used to control the movement of the robotic arm. These can be the sum of the products of the fundamental joint angle solution θ_base, the null basis matrix N, and the target parameter vector α, i.e., θ_base + N·α. The optimal attitude solution refers to the set of joint angle vectors that minimizes the rotational deviation between the end-effector attitude and the target attitude among all feasible joint angles that satisfy the condition of accurate end-effector position and all controllable joints within their physical limits. In other words, the solution is a set of joint angles for all controllable joints, not a single numerical value.
[0045] The above-mentioned control of the under-degree-of-freedom robotic arm movement based on the target joint angle can be achieved by an electronic device converting the target joint angle into a motion command and sending it to the motion controller of the robotic arm, which then drives each controllable joint to move to the target joint angle.
[0046] In this embodiment, the null basis matrix of the position Jacobian matrix is extracted at the robotic arm configuration corresponding to the basic solution of the joint angles, and the joint angle correction is restricted to a linear combination of the null basis matrices. Since the joint motion along the null direction does not change the end-effector position in the first-order sense, the position accuracy is analytically maintained throughout the entire attitude optimization process. Multiple iterative corrections between position correction and attitude adjustment are unnecessary; a single solution yields the joint angles with accurate position and optimal attitude. Simultaneously, the attitude optimization is analytically reduced from a search in a high-dimensional joint space to a search in a low-dimensional parameter space spanned by the null basis matrices, significantly reducing the search size and achieving millisecond-level time consumption for a single solution. This improves the real-time performance of the attitude control of the under-degree-of-freedom robotic arm.
[0047] In some embodiments, the null basis matrix for extracting the position Jacobian matrix described above may include: Singular value decomposition is performed on the position Jacobian matrix to obtain the right singular vector matrix; The column vectors corresponding to the zero singular values in the right singular vector matrix are determined as the column vectors of the null space basis matrix, thus forming the null space basis matrix; In the case where the number of controllable joints of the under-degree-of-freedom robotic arm is five and the number of constraints on the end-effector position is three, the position Jacobian matrix is three rows and five columns with a rank of three, the null basis matrix is five rows and two columns, and the low-dimensional parameter space is a two-dimensional parameter space.
[0048] In this embodiment, by performing singular value decomposition on the position Jacobian matrix and taking the right singular vectors corresponding to the zero singular values to form the null space basis matrix, the subspace spanned by the joint motion direction without changing the end position can be accurately and stably constructed explicitly, thus providing a mathematical basis for restricting attitude optimization within this subspace.
[0049] The above-mentioned Singular Value Decomposition (SVD) refers to a matrix decomposition method that decomposes a matrix into the product of a left singular vector matrix, a singular value diagonal matrix, and the transpose of a right singular vector matrix. Specifically, electronic devices can perform singular value decomposition on the position Jacobian matrix J_p to obtain the following formula (2): J_p = U·Σ·V^T ;(2) In the formula, U is the left singular vector matrix, which is an orthogonal matrix. For example, when J_p is a 3x5 matrix, U is a 3x3 orthogonal matrix; Σ is the singular value diagonal matrix, whose diagonal elements are the singular values of J_p. For example, Σ can be a 3x5 matrix. Since the rank of J_p is 3 and the number of columns is 5, two of its singular values are zero, i.e., zero singular values; V is the right singular vector matrix. For example, V can be a 5x5 orthogonal matrix; V^T is the transpose of the right singular vector matrix V.
[0050] Accordingly, the null basis matrix N can be determined by the following formula (3): The column vector corresponding to the zero singular values of N = V; (3) In the formula, the column vector corresponding to the zero singular value of V refers to the column vector in the right singular vector matrix V that has the same column index as the zero singular value in Σ. For example, when the diagonal elements of Σ are arranged in descending order, the zero singular value is located in the last two columns. Correspondingly, the last two columns of V are taken to form N, which is a five-row, two-column real matrix. Each column vector of N satisfies J_p·N = 0, that is, each column of N is mapped to a zero vector by J_p, which is a vector in the null space of J_p. The column vectors span the joint movement direction that does not change the end position.
[0051] It should be noted that in actual calculations, electronic devices can also verify the validity of the extracted null basis matrix. For example, the norm of the product of J_p and N can be calculated. If the order of magnitude of the norm is within the range of numerical calculation error (such as the order of 10 to the power of -15), then the null basis matrix is confirmed to be valid.
[0052] In some embodiments, the aforementioned rotation deviation is an attitude error vector, which is obtained by performing a rotation matrix logarithmic mapping on the product of the transpose of the current attitude rotation matrix and the target attitude rotation matrix, and the optimization objective is the norm square of the attitude error vector. The search for the target parameter vector that minimizes the rotational deviation can include: iteratively searching for the gradient of the parameter vector in a low-dimensional parameter space based on the optimization objective. The gradient is determined by the product of the transpose of the attitude error vector, the attitude Jacobian matrix, and the null basis matrix. The attitude Jacobian matrix is used to describe the rate of change of end attitude caused by the change of angle of each controllable joint.
[0053] In this embodiment, the attitude error vector is defined by the logarithmic mapping of the rotation matrix, and the gradient is determined based on the product of the attitude Jacobian matrix and the null space basis matrix. Since the attitude Jacobian matrix captures the coupling effect of all controllable joints on the end-effector attitude, the gradient can reflect the true attitude change rate caused by joint movement along the null space direction under any arm type, thereby making the attitude search direction more accurate and avoiding the error introduced by the simplified axis mapping assumption in non-standard configurations in related technologies.
[0054] The aforementioned current attitude rotation matrix refers to the end-effector rotation matrix R(θ) corresponding to the current joint angle θ. It is a three-row, three-column matrix calculated by the forward kinematics model. The target attitude rotation matrix R_target refers to the rotation matrix corresponding to the target attitude. For example, if the target attitude is represented by a quaternion, the quaternion can be converted into a rotation matrix first. The aforementioned attitude error vector e_orient(θ) can be determined by the following formula (4): e_orient(θ) = log(R(θ) T·R_target) ∨; (4) In the formula, R(θ) T R(θ) is the transpose of the current attitude rotation matrix; T·R_target is the relative rotation matrix from the current attitude to the target attitude; log(·)^∨ is the operation of taking the axis-angle vector by the logarithmic mapping of the rotation matrix, that is, first obtain the antisymmetric matrix by the logarithmic mapping, and then take out its corresponding three-dimensional axis-angle vector by the vector operation; e_orient(θ) is the attitude error vector, which is a three-dimensional vector that describes the rotational deviation between the current end attitude and the target attitude.
[0055] The above optimization objective E(θ) can be determined by the following formula (5): E(θ) = ||e_orient(θ)||²; (5) In the formula, E(θ) is the scalar value of the attitude error; ||·||² is the square of the vector 2 norm (Euclidean length), which is the sum of the squares of the components of the attitude error vector.
[0056] Accordingly, the above target parameter vector α The search can be expressed as the following formula (6): α = argmin E(θ_base + N·α); (6) In the formula, argmin is the value of the independent variable that minimizes the objective function; θ_base + N·α is the joint angle represented by the null space parameter vector α.
[0057] The gradient of the above optimization objective with respect to the parameter vector E / α can be determined by the following formula (7): E / α = 2·e_orient^T·J_orient·N; (7) In the formula, E / α is the partial derivative of the optimization objective E with respect to the null space parameter vector α, i.e., the gradient, which has the same dimension as α, for example, a two-dimensional vector; e_orient^T is the transpose of the attitude error vector; J_orient is the attitude Jacobian matrix, a 3x5 matrix, where the i-th column represents the rate of change of end-effector attitude caused by a small change in the angle of the i-th controllable joint; J_orient·N is the product of the attitude Jacobian matrix and the null space basis matrix, a 3x2 matrix, representing the rate of change of end-effector attitude caused by joint movement along the null space direction. This gradient is obtained by right-multiplying the attitude Jacobian matrix by the null space basis matrix according to the chain rule.
[0058] The iterative search based on the gradient described above can be performed using gradient descent or the L-BFGS-B algorithm. In each iteration, α is updated in the opposite direction of the gradient until the attitude error scalar value converges. The L-BFGS-B algorithm is a finite-memory quasi-Newton optimization algorithm that supports upper and lower bound constraints on variables and is suitable for small to medium-sized bounded optimization problems.
[0059] In some embodiments, the above method may further include: Obtain the physical limit range of each controllable joint; The physical limit range is converted into upper and lower bound constraints of the search variables in a low-dimensional parameter space, so that the joint angle of each controllable joint is always within the physical limit range during the search process.
[0060] In this embodiment, by directly applying the physical limit range of the joint to the low-dimensional parameter space in the form of upper and lower bounds of the search variables, the search process is always carried out within the feasible range of the joint. This avoids the problem in related technologies where the truncated solution no longer meets the position constraints, the quality of the solution deteriorates, or even the limit protection is triggered and the machine stops due to the truncation method after solving the limit. This ensures the feasibility of the solution and the continuity of the operation.
[0061] The aforementioned physical limit range refers to the range of angles that each controllable joint can rotate under the constraints of the mechanical structure. It can be represented by the minimum value θ_min and the maximum value θ_max of the physical limit of each joint. For example, when there are five controllable joints, θ_min and θ_max are both five-dimensional vectors. The above conversion of the physical limit range into upper and lower bound constraints of the search variables in the low-dimensional parameter space can be achieved by rewriting the joint limit constraints as constraints on the null space parameter vector α, which satisfies the following formula (8): θ_min ≤ θ_base + N·α ≤ θ_max; (8) In the formula, θ_min and θ_max are the minimum and maximum values of the physical limits of each controllable joint, respectively; ≤ indicates a component-wise less than or equal to relationship. Since θ_base and N are known quantities, formula (8) is a system of linear inequalities about α. The electronic device can use this to solve for the upper and lower bounds of each component of α, and input these upper and lower bounds as the boundary of the search variable into optimization algorithms such as L-BFGS-B that support upper and lower bound constraints, so that the search process is always carried out within the feasible range of the joint.
[0062] In some embodiments, determining the target joint angle based on the fundamental solution of the joint angle, the null basis matrix, and the target parameter vector may include: The optimal joint angle is determined by the sum of the products of the basic solution of the joint angle, the null basis matrix, and the objective parameter vector. Determine the positional deviation between the end-effector position corresponding to the optimized joint angle and the target position; Based on the pseudo-inverse matrix of the position Jacobian matrix and the position deviation, the position fine-tuning correction amount is determined. The position fine-tuning correction amount is the minimum norm solution among the joint adjustments to eliminate the position deviation. The target joint angle is determined by summing the optimized joint angle and the position fine-tuning correction.
[0063] In this embodiment, since the position invariance guaranteed by the null space is in the first-order (linearized) sense, when the magnitude of the joint angle correction is large, the nonlinear higher-order terms will introduce a small position deviation. The end position is finely adjusted and corrected by the pseudo-inverse matrix of the position Jacobian matrix. Since the pseudo-inverse solution is the minimum norm solution, that is, the position deviation is eliminated with the minimum joint motion, its component in the null space direction is also the smallest, and its impact on the optimized posture is minimal. Thus, while maintaining the posture optimization result, the position error is compressed to the mechanical accuracy range, which further improves the accuracy of position control.
[0064] The optimized joint angle θ_opt can be determined by the following formula (9): θ_opt = θ_base + N·α ; (9) In the formula, θ_opt is the optimized joint angle after null space optimization, for example, a five-dimensional vector.
[0065] The aforementioned positional deviation δp can be determined using the following formula (10): δp = p_target p(θ_opt); (10) In the formula, δp is the end-effector position deviation vector, which is a three-dimensional vector and equal to the difference between the target position and the actual end-effector position; p_target is the target position; p(θ_opt) is the end-effector position calculated by the optimized joint angle θ_opt through the positive kinematic model.
[0066] The pseudo-inverse of the aforementioned positional Jacobian matrix refers to the Moore-Penrose pseudo-inverse, used to solve the least norm least squares solution of underdetermined linear equation systems. It can be determined by the following formula (11): J_p + = J_p T·(J_p·J_pT)-¹ ; (11) In the formula, J_p + Let J_p be the Moore-Penrose pseudoinverse of the positional Jacobian matrix J_p, for example, a 5x3 matrix; J_p T The transpose of J_p; (J_p·J_p T ) - ¹ is the inverse matrix of the product of J_p and J_p^T.
[0067] The aforementioned positional fine-tuning correction amount Δθ_fix can be determined by the following formula (12): Δθ_fix = J_p + ·δp; (12) In the formula, Δθ_fix is the position fine-tuning correction amount, for example, a five-dimensional vector, which is the minimum norm solution of the equation J_p·Δθ = δp, that is, among all joint adjustment amounts that can eliminate position deviation δp, its Euclidean length is the smallest.
[0068] Accordingly, the target joint angle θ_final can be determined by the following formula (13): θ_final = θ_opt + Δθ_fix; (13) In the formula, θ_final represents the final target joint angle, for example, a five-dimensional vector. After the above fine-tuning correction, the final position error can be guaranteed to be within the mechanical accuracy range (e.g., less than 0.001 meters).
[0069] In some embodiments, the aforementioned under-degree-of-freedom robotic arm includes a parallel linkage mechanism, the geometric constraints of which are pre-embedded in the forward kinematics model; The aforementioned position Jacobian matrix is calculated based on the positive kinematics model under the geometric space angle, and the search is performed under the geometric space angle; Before controlling the movement of the under-degree-of-freedom robotic arm based on the target joint angle, the above may also include: uniformly converting the target joint angle in geometric space into the actuator space angle.
[0070] In this embodiment, by pre-embedding the geometric constraints of the parallel linkage mechanism into the forward kinematics model, the coupling effects of the parallel linkage are automatically reflected in the position Jacobian matrix and the attitude Jacobian matrix through the forward kinematics model. The calculation of the null basis matrix and the attitude search in the low-dimensional parameter space are performed entirely in the geometric space angle, and are only uniformly converted to the actuator space angle at the output. This avoids the conflict in related technologies where the calculation basis of the first attitude compensation and the second parallel linkage conversion are inconsistent, and the latter overwrites the result of the former.
[0071] The aforementioned parallel linkage mechanism refers to a transmission mechanism consisting of four links forming a parallelogram, where there is a coupling relationship between the geometric space angles and the actuator space angles. Taking the joint arm_joint4 driven by the parallelogram linkage mechanism as an example, the conversion relationship between the geometric space angles of arm_joint4 and the actuator space angles can be determined by the following formula (14): θ4_geometric = θ4_actuator θ2 θ3 + C_offset θ_virtual; (14) In the formula, θ4_geometric is the geometric space angle of arm_joint4; θ4_actuator is the space angle of the actuator (such as a hydraulic cylinder) of arm_joint4; θ2 and θ3 are the joint angles of arm_joint2 and arm_joint3, respectively; C_offset is the fixed offset constant of the parallel link, for example, C_offset can be equal to 13π / 12 radians (approximately 3.403 radians), where π is pi; θ_virtual is the virtual joint angle compensation term of the parallel link mechanism.
[0072] It should be noted that, since the above transformation relationship is already encoded within the forward kinematics model, the geometric constraints of the parallel links mean that the feasible angle range of the wrist joint depends not only on its own limit but also on the current value of the upstream joint. This coupling effect is automatically reflected by the forward kinematics model when calculating the position Jacobian matrix and the attitude Jacobian matrix. Therefore, there is no need to perform parallel link decoupling processing separately outside of attitude search. Only when outputting the target joint angle, the electronic device converts the target joint angle in geometric space into the actuator space angle before issuing it for execution.
[0073] In some embodiments, the above-described control of the under-degree-of-freedom robotic arm motion based on the target joint angle may include: Starting from the current joint state and ending at the target joint angle, generate a smooth motion trajectory that satisfies the joint velocity and acceleration limits. The smooth motion trajectory is sent to the motion controller of the under-degree-of-freedom robotic arm to control its movement.
[0074] In this embodiment, by generating a smooth motion trajectory that satisfies the joint speed and acceleration limits after solving the target joint angle, and then sending it down for execution, abrupt movements of the joints of the robotic arm can be avoided, thereby ensuring the smoothness of the robotic arm's movement and reducing mechanical impact.
[0075] The above-mentioned generation of a smooth motion trajectory that satisfies the joint velocity and joint acceleration limits can be achieved by an electronic device using the current joint state as the trajectory starting point and the target joint angle as the trajectory ending point, and employing trajectory planning methods such as fifth-order polynomial interpolation, trapezoidal velocity planning, or spline interpolation to generate an angle sequence of each controllable joint changing over time, wherein the joint velocity at each moment in the angle sequence does not exceed the joint velocity limit and the joint acceleration does not exceed the joint acceleration limit.
[0076] The aforementioned smooth motion trajectory is sent to the motion controller. This can be achieved by the electronic device sending the smooth motion trajectory to the motion controller of the robotic arm through the ROS2 Action interface; or by sending the trajectory point sequence to the motion controller point by point through a CAN bus or other means. There is no limitation on this.
[0077] To facilitate understanding of the zero-space projection attitude control method for the under-degree-of-freedom robotic arm described in this application, a practical application example of the method is provided below.
[0078] This application example demonstrates a photovoltaic power plant cleaning operation: a five-joint hydraulic robotic arm mounted on a mobile chassis needs to deliver the end-effector cleaning device to a designated position on the photovoltaic panel surface and maintain a specified contact posture. The robotic arm has six physical joints, but the sixth joint is uncontrollable due to structural limitations, lacking a rotational degree of freedom. The actual controllable joints are arm_joint1 to arm_joint5, with arm_joint4 driven by a parallelogram linkage mechanism. The physical limit ranges of each controllable joint are as follows: the limit of arm_joint1 is [...]. [2.8, 2.8] radians; arm_joint2 is limited to [1.106, 2.15] radians; arm_joint3 is limited to [1.497, 3.25] radians; arm_joint4 is limited to [...]. [0.572, 1.162] radians (geometric space); the limit of arm_joint5 is [ [1.745, 1.745] radians; the fixed offset constant C_offset of the parallel link is equal to 13π / 12 radians (approximately 3.403 radians). The forward kinematics model of the robotic arm has been pre-established, and the geometric constraints of the parallel link mechanism have been embedded within the forward kinematics model. The processing procedure for this application example is as follows: steps one through six.
[0079] Step 1: Receive the target pose and acquire the current joint state. The perception system detects the target clean pose, where the target position is x = ... Given 1.5 meters, y = 2.0 meters, z = 1.5 meters, and the quaternions for the target attitude are qx = 0.705, qy = 0.066, and qz = 1.5 meters. 0.705, qw equals 0.036, and send it to the planning node via the ROS2 topic. The planning node (i.e., the electronic device) simultaneously obtains the current actuator angle values of the five controllable joints of the robotic arm from the / joint_states topic, converts them into geometric space angles through parallel link kinematics, and loads the physical limit range of each of the above controllable joints.
[0080] Step 2: Inverse kinematics solution (position only). In position-only constraint mode, the kinematic solver solves the problem using the current joint angle as the initial seed, obtaining the fundamental solution θ_base = [ 1.56, 1.908, 1.645, 0.65, 1.2 radians. At this point, the end position accurately reaches the target position, but the attitude deviation is about 0.35 radians.
[0081] Step 3: Calculate the null basis matrix. Calculate the 3x5 position Jacobian matrix J_p at the robotic arm configuration corresponding to θ_base. Perform singular value decomposition on it: J_p = U·Σ·V^T. Take the last two columns of the right singular vector matrix V to obtain the 5x2 null basis matrix N. Verify that the norm of the product of J_p and N is on the order of 10 to the power of -15, confirming the validity of the null basis matrix.
[0082] Step 4: Zero-space attitude optimization. Using the upper and lower bounds of α obtained by converting the limit range of each joint according to formula (8) as the search boundary, the L-BFGS-B algorithm is used to search for the target parameter vector α in the two-dimensional parameter space. After 12 iterations (about 2 milliseconds), we get a Figure 2 = [0.18, [0.09] The attitude error decreased from 0.35 radians to 0.05 radians, and the position was not checked or corrected throughout the optimization process.
[0083] Step 5: Position accuracy correction. Optimize joint angle θ_opt = θ_base + N·α = [ 1.52, 1.88, 1.67, 0.82, [1.35] Radius, calculated using a positive kinematic model, has a residual position deviation δp at its end position relative to the target position with a modulus of approximately 2.3 x 10^-3 meters; this deviation stems from the fact that the position invariance in null space only holds in the first-order sense, while in this example, the joint angle correction N·α The amplitudes of each component range from 0.04 to 0.17 radians, and higher-order terms are no longer negligible. (As shown by Δθ_fix = J_p) + After a fine-tuning of δp, the target joint angle θ_final is obtained. 1.521, 1.881, 1.669, 0.818, [1.349] radians, the position error was reduced to 8 x 10 to the power of -6 meters (less than 0.001 meters), while the attitude error remained basically unchanged (pitch deviation of 0.03 radians, roll deviation of 0.02 radians), verifying that the minimum norm position fine-tuning correction has minimal impact on the optimized attitude.
[0084] Step Six: Spatial Transformation and Trajectory Execution. The target joint angle in geometric space is converted into actuator spatial angles (including the decoupling transformation of the parallel links in arm_joint4). A smooth motion trajectory satisfying joint velocity and acceleration limits is generated, starting from the current joint state and ending at the target joint angle. This trajectory is then sent to the robot arm's motion controller via the ROS2 motion interface for execution. The total time from receiving the target pose to trajectory transmission is approximately 0.5 seconds, with attitude optimization calculation taking approximately 2 milliseconds.
[0085] The following is a comparison of the application example with related technologies: The step-by-step compensation iterative method (three iterations) in related technologies has a position error of less than 0.01 meters, an attitude error of 0.05 radians, and an attitude optimization time of approximately 6 seconds. Furthermore, the position constraints need to be re-verified and corrected after each iteration. In contrast, the position error in this example is less than 0.001 meters, the attitude error is 0.05 radians, and the attitude optimization time is approximately 2 milliseconds. Moreover, no position constraint verification is required during the optimization process. It is evident that compared to the step-by-step compensation iterative method, the method in this application can be solved in a single step, improving the efficiency of the attitude optimization stage by three orders of magnitude and the position accuracy by one order of magnitude, making real-time attitude adjustment possible in online servo scenarios.
[0086] It should be noted that the method of this application is not limited to the five-joint configuration of the robotic arm described above. In some embodiments, when the number of controllable joints is n and the number of position constraints is 3, the dimension of the null space is n minus 3, and the method of this application can be directly extended to optimization in the n minus 3 dimension parameter space. In some embodiments, the method of this application is also applicable to degraded operation scenarios after joint failure. When a joint is locked, the joint can be removed from the position Jacobian matrix and the null space basis matrix can be recalculated without changing the method framework. In some embodiments, the method of this application can also be extended to mobile robotic arm systems, where the chassis degrees of freedom are included in the Jacobian matrix and the null space basis matrix is calculated uniformly. In some embodiments, the method of this application is also applicable to engineering robotic arms with parallel linkage mechanisms, such as excavators and aerial work platforms, as well as scenarios requiring online real-time adjustment, such as redundancy decomposition in visual servoing and force feedback control.
[0087] It should also be noted that, in some embodiments, the above-mentioned method for calculating the null basis matrix can be replaced by performing QR decomposition on the transpose of the position Jacobian matrix and taking the last two columns, which has better numerical stability and lower computational cost. In some embodiments, the above-mentioned posture error metric can also be replaced by quaternion spherical distance to avoid gimbal lock problem. In some embodiments, a joint median preference term can also be introduced into the optimization objective as a secondary optimization objective, so that the solution result is both posture-optimal and far from joint limitations, improving the flexibility of subsequent movements.
[0088] In some embodiments, the method of this application can also be combined with path planning to construct and optimize null spaces at each path point of the entire trajectory, thereby achieving full trajectory attitude optimization.
[0089] In some embodiments, when approaching a singular configuration, the minimum non-zero singular value of the position Jacobian matrix approaches zero. The dimension determination of the null space can be achieved by using the singular value threshold method, that is, singular values less than the threshold are regarded as zero singular values, so that the dimension of the null space is adaptively expanded, thereby obtaining a greater attitude adjustment margin near the singular configuration.
[0090] Based on the zero-space projection attitude control method for a manipulator with a degree of freedom provided in the above embodiments, this application also provides a specific implementation of a zero-space projection attitude control device for a manipulator with a degree of freedom.
[0091] like Figure 3 As shown, the zero-space projection attitude control device 200 for a under-degree-of-freedom robotic arm provided in this application embodiment may include: The data acquisition module 201 is used to acquire the target pose and the current joint state of the under-degree-of-freedom robotic arm. The target pose includes the target position and the target orientation. Inverse kinematics module 202 is used to perform position-only inverse kinematics solution based on the target position to obtain the basic solution of joint angles that satisfies the end-effector position constraint; The null space extraction module 203 is used to calculate the position Jacobian matrix of each controllable joint of the under-degree-of-freedom manipulator at the end position relative to the manipulator configuration corresponding to the joint angle basic solution, and extract the null space basis matrix of the position Jacobian matrix. The attitude optimization module 204 is used to optimize the rotational deviation between the end pose corresponding to the current joint state and the target pose, restrict the joint angle correction to a linear combination of null basis matrices, and search for the target parameter vector that minimizes the rotational deviation in the low-dimensional parameter space spanned by the null basis matrices. The motion control module 205 is used to determine the target joint angle based on the joint angle fundamental solution, the null basis matrix and the target parameter vector, and to control the motion of the under-degree-of-freedom robotic arm based on the target joint angle.
[0092] The zero-space projection attitude control device 200 for the under-degree-of-freedom robotic arm in this embodiment is used to execute the zero-space projection attitude control method for the under-degree-of-freedom robotic arm in the above embodiment. Its specific processing procedure is the same as that of the zero-space projection attitude control method for the under-degree-of-freedom robotic arm in the above embodiment, and will not be described in detail here.
[0093] Figure 3 A schematic diagram of the hardware structure of the electronic device provided in an embodiment of this application is shown.
[0094] The electronic device may include a processor 301 and a memory 302 storing computer program instructions.
[0095] Specifically, the processor 301 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.
[0096] Memory 302 may include mass storage for data or instructions. For example, and not limitingly, memory 302 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 302 may include removable or non-removable (or fixed) media. Where appropriate, memory 302 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 302 is non-volatile solid-state memory.
[0097] In some embodiments, memory 302 may include read-only memory (ROM), random access memory (RAM), disk storage media device, optical storage media device, flash memory device, electrical, optical, or other physical / tangible memory storage device. Thus, generally, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to one aspect of this disclosure.
[0098] The processor 301 reads and executes computer program instructions stored in the memory 302 to implement any of the zero-space projection attitude control methods for a less-freedom robotic arm in the above embodiments.
[0099] In one example, the electronic device may also include a communication interface 303 and a bus 310. For example, As shown, the processor 301, memory 302, and communication interface 303 are connected through bus 310 and complete communication with each other.
[0100] The communication interface 303 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.
[0101] Bus 310 may include hardware, software, or both. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 310 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, this application contemplates any suitable bus or interconnect.
[0102] Furthermore, in conjunction with the zero-space projection attitude control method for the under-degree-of-freedom robotic arm in the above embodiments, this application embodiment can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the zero-space projection attitude control methods for the under-degree-of-freedom robotic arm in the above embodiments.
[0103] This application also relates to a robot, including a robot body, a robotic arm disposed on the robot body, and a controller. The robotic arm is a low-degree-of-freedom robotic arm, and the controller is used to run the zero-space projection attitude control method of the low-degree-of-freedom robotic arm of the above embodiment.
[0104] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.
[0105] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.
[0106] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.
[0107] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.
[0108] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.
Claims
1. A method for zero-space projection attitude control of a manipulator with insufficient degrees of freedom, characterized in that, Includes the following steps: Obtain the target pose and the current joint state of the under-degree-of-freedom robotic arm, wherein the target pose includes the target position and the target orientation; Based on the target position, perform position-only inverse kinematics solution to obtain the basic solution of joint angles that satisfies the end-effector position constraint; At the robotic arm configuration corresponding to the basic solution of the joint angle, calculate the position Jacobian matrix of the end position with respect to each controllable joint of the under-degree-of-freedom robotic arm, and extract the null basis matrix of the position Jacobian matrix. Taking the rotational deviation between the end pose corresponding to the current joint state and the target pose as the optimization objective, the joint angle correction is restricted to a linear combination of the null basis matrices, and the target parameter vector that minimizes the rotational deviation is searched in the low-dimensional parameter space spanned by the null basis matrices. The target joint angle is determined based on the joint angle fundamental solution, the null space basis matrix, and the target parameter vector, and the movement of the under-degree-of-freedom robotic arm is controlled based on the target joint angle.
2. The zero-space projection attitude control method for a under-degree-of-freedom robotic arm according to claim 1, characterized in that, The extraction of the null basis matrix of the position Jacobian matrix includes: Singular value decomposition is performed on the position Jacobian matrix to obtain the right singular vector matrix; The column vectors corresponding to the zero singular values in the right singular vector matrix are determined as the column vectors of the null space basis matrix, thus forming the null space basis matrix; In the case where the number of controllable joints of the under-degree-of-freedom robotic arm is five and the number of constraints of the end-effector position constraint is three, the position Jacobian matrix is three rows and five columns with a rank of three, the null basis matrix is five rows and two columns, and the low-dimensional parameter space is a two-dimensional parameter space.
3. The zero-space projection attitude control method for a manipulator with insufficient degrees of freedom according to claim 1, characterized in that, The rotation deviation is an attitude error vector, which is obtained by performing a rotation matrix logarithmic mapping on the product of the transpose of the current attitude rotation matrix and the target attitude rotation matrix. The optimization objective is the squared norm of the attitude error vector. The search for the target parameter vector that minimizes the rotational deviation includes: iteratively searching for the gradient of the parameter vector in the low-dimensional parameter space according to the optimization objective, wherein the gradient is determined by the product of the transpose of the attitude error vector, the attitude Jacobian matrix, and the null basis matrix, and the attitude Jacobian matrix is used to describe the rate of change of end attitude caused by the change of each controllable joint angle.
4. The zero-space projection attitude control method for a manipulator with insufficient degrees of freedom according to claim 1, characterized in that, The method further includes: Obtain the physical limit range of each controllable joint; The physical limit range is converted into upper and lower bound constraints of the search variables in the low-dimensional parameter space, so that the joint angle of each controllable joint is always within the physical limit range during the search process.
5. The zero-space projection attitude control method for a manipulator with insufficient degrees of freedom according to claim 1, characterized in that, Determining the target joint angle based on the fundamental solution of the joint angle, the null basis matrix, and the target parameter vector includes: The optimized joint angle is determined by the sum of the products of the basic solution of the joint angle, the null basis matrix, and the target parameter vector. Determine the positional deviation between the end position corresponding to the optimized joint angle and the target position; Based on the pseudo-inverse matrix of the position Jacobian matrix and the position deviation, the position fine-tuning correction amount is determined, and the position fine-tuning correction amount is the minimum norm solution among the joint adjustment amounts to eliminate the position deviation. The target joint angle is determined based on the sum of the optimized joint angle and the position fine-tuning correction.
6. The zero-space projection attitude control method for a under-degree-of-freedom robotic arm according to any one of claims 1 to 5, characterized in that, The under-degree-of-freedom robotic arm includes a parallel link mechanism, the geometric constraints of which are pre-embedded in the forward kinematics model; The position Jacobian matrix is calculated based on the positive kinematics model under geometric space angles, and the search is performed under the geometric space angles. Before controlling the movement of the under-degree-of-freedom robotic arm based on the target joint angle, the method further includes: uniformly converting the target joint angle in geometric space into the actuator space angle.
7. The zero-space projection attitude control method for a manipulator with insufficient degrees of freedom according to claim 1, characterized in that, The control of the under-degree-of-freedom robotic arm movement based on the target joint angle includes: Starting from the current joint state and ending at the target joint angle, a smooth motion trajectory that satisfies the joint velocity and joint acceleration limits is generated. The smooth motion trajectory is sent to the motion controller of the under-degree-of-freedom robotic arm to control the movement of the under-degree-of-freedom robotic arm.
8. A zero-space projection attitude control device for a manipulator with insufficient degrees of freedom, characterized in that, include: The data acquisition module is used to acquire the target pose and the current joint state of the under-degree-of-freedom robotic arm, wherein the target pose includes the target position and the target orientation; The inverse kinematics module is used to perform position-only inverse kinematics solution based on the target position to obtain the basic solution of joint angles that satisfies the end-effector position constraint; The null space extraction module is used to calculate the position Jacobian matrix of each controllable joint of the under-degree-of-freedom manipulator with respect to the end position at the manipulator configuration corresponding to the basic solution of the joint angle, and to extract the null space basis matrix of the position Jacobian matrix. The attitude optimization module is used to optimize the rotational deviation between the end pose corresponding to the current joint state and the target pose, limit the joint angle correction to a linear combination of the null basis matrices, and search for the target parameter vector that minimizes the rotational deviation in the low-dimensional parameter space spanned by the null basis matrices. The motion control module is used to determine the target joint angle based on the joint angle fundamental solution, the null space basis matrix and the target parameter vector, and to control the motion of the under-degree-of-freedom robotic arm based on the target joint angle.
9. An electronic device, characterized in that, The device includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the zero-space projection attitude control method for a manipulator with insufficient degrees of freedom as described in any one of claims 1-7.
10. A robot, characterized in that, The device includes a robot body, a robotic arm mounted on the robot body, and a controller, wherein the robotic arm is a low-degree-of-freedom robotic arm, and the controller is used to run the method described in any one of claims 1 to 7.
