Mechanical arm teaching method and device, electronic equipment, storage medium and program product

CN122807957APending Publication Date: 2026-09-25REALMAN INTELLIGENT TECH (BEIJING) CO LTD +2
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611311126.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-08-27
Publication Date
2026-09-25

AI Technical Summary

Technical Problem

[0004]1、全局关节速度限制法

Benefits of technology

[0028]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122807957A_ABST
    Figure CN122807957A_ABST
Patent Text Reader

Abstract

The method comprises the following steps: acquiring a resultant external force applied to the end of a mechanical arm, a joint position and a limit interval of each joint of the mechanical arm, and a Jacobian inverse matrix; for each joint, determining out-of-limit risk information of the joint according to the joint position and the limit interval of the joint; constructing a projection matrix of a risk subspace according to the out-of-limit risk information of all joints and the Jacobian inverse matrix; performing first correction processing on a damping matrix of a mobility controller according to the projection matrix of the risk subspace, to obtain a first corrected damping matrix, so as to increase the damping in the direction of the risk subspace; taking an end Cartesian speed determined according to the mobility controller, the first corrected damping matrix and the resultant external force as a damping correction speed; and controlling the joint movement of the mechanical arm according to the damping correction speed. The method takes into account safety, operation experience, hand feeling consistency and kinematics consistency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure generally relates to the field of robotics, and more specifically, to a method, apparatus, electronic device, storage medium, and program product for teaching a robotic arm. Background Technology

[0002] Drag-and-drop teaching is an intuitive programming method that sets the target position of a robotic arm through physical interaction. The user manually pulls the robotic arm to the desired position, but due to resistance from gravity, friction, and inertia, the user-applied force alone is insufficient to move the arm. A force sensor detects the applied force, which is then converted into a desired motion command by an admittance controller. The drive motor then actively outputs torque based on this command, causing the robotic arm to follow the dragging motion. Simultaneously, the position and trajectory are recorded for subsequent repetition. This technology requires no complex programming, significantly improves operational efficiency, and has become a standard human-machine interface in flexible production lines.

[0003] During drag-and-drop teaching, when the joints of the robotic arm approach their physical angle limits, issues such as global jamming or end-effector deviation may occur. The following three methods are commonly used to address this problem.

[0004] 1. Global joint speed limiting method. When any joint i is detected to enter the limit range, the speed of all joints is scaled proportionally or set to zero. This method is highly safe but has a very poor user experience. The entire robotic arm stops moving just because a single joint is restricted, resulting in a severe sense of lag.

[0005] 2. Single-joint velocity limitation method. This method limits the velocity of only joint i, which is close to its limit, while leaving the other joints unchanged. This method disrupts the kinematic consistency of the Jacobian mapping. The modified joint velocities no longer correspond to any valid Cartesian velocities, leading to unpredictable deviations between the actual end effector movement direction and the operator's dragging direction, posing a safety hazard.

[0006] 3. Zero-space projection method. This method utilizes the zero-space degrees of freedom of a redundant robotic arm to project the joint constraint avoidance gradients into the zero space of the Jacobian matrix, serving as additional joint velocities. This method is only applicable to redundant robotic arms (degrees of freedom greater than 6) and is completely unsuitable for the 6-degree-of-freedom non-redundant robotic arms widely used in industry. Summary of the Invention

[0007] This disclosure provides a robotic arm teaching method, apparatus, electronic device, storage medium, and program product for solving at least one of the above-mentioned problems.

[0008] According to a first aspect of the present disclosure, a robotic arm teaching method is provided, the robotic arm teaching method comprising: acquiring a net external force applied to the end effector of the robotic arm, the joint position and limit range of each joint of the robotic arm, and a Jacobian inverse matrix, wherein the Jacobian inverse matrix is ​​used to map the end effector Cartesian velocity of the robotic arm to the joint velocity of each joint; for each joint, determining the limit-crossing risk information of the joint based on the joint position and limit range of the joint; constructing a projection matrix of a risk subspace based on the limit-crossing risk information of all joints and the Jacobian inverse matrix, wherein the risk subspace represents a subspace in Cartesian space where limit-crossing risk exists; performing a first correction processing on the damping matrix of the admittance controller based on the projection matrix of the risk subspace to obtain a first corrected damping matrix to increase the damping in the direction corresponding to the risk subspace; using the end effector Cartesian velocity determined based on the admittance controller, the first corrected damping matrix, and the net external force as the damping correction velocity; and controlling the joint movement of the robotic arm based on the damping correction velocity.

[0009] Optionally, the risk information includes a risk value and a risk direction, wherein the risk value represents the degree of risk of exceeding the limit, and the step of constructing a projection matrix of the risk subspace based on the risk information of all joints and the Jacobian inverse matrix includes: for each joint, if the risk value of the joint indicates that the joint has a first risk of exceeding the limit, identifying the joint as a risk joint; and constructing a projection matrix of the risk subspace based on the risk information of all risk joints and the Jacobian inverse matrix.

[0010] Optionally, constructing the projection matrix of the risk subspace based on the risk information of all risk joints and the Jacobian inverse matrix includes: for each risk joint, determining the risk direction unit vector of the risk joint based on the vector corresponding to the risk joint in the Jacobian inverse matrix and the risk movement direction of the risk joint; and constructing the projection matrix of the risk subspace based on the risk direction unit vectors of all risk joints and the risk value of exceeding the limit, wherein the risk subspace is a subspace composed of the risk direction unit vectors of all risk joints.

[0011] Optionally, determining the risk information of each joint's exceeding limits based on its joint position and limiting range includes: for each joint, determining the upper and lower bounds of the joint position relative to the upper and lower boundaries of the limiting range, and determining the minimum of the upper and lower bounds as a reference distance; determining the risk value of the joint's exceeding limits based on the reference distance; and determining the direction of the limiting range boundary corresponding to the reference distance as the risk movement direction of the joint.

[0012] Optionally, before constructing the projection matrix of the risk subspace based on the risk information of all risk joints and the Jacobian inverse matrix, the construction of the projection matrix of the risk subspace based on the risk information of all joints and the Jacobian inverse matrix further includes: for each risk joint, determining the nominal joint velocity of the risk joint based on the resultant external force; if the direction of the nominal joint velocity of the risk joint is consistent with the risk movement direction of the risk joint, determining the predicted risk value of the risk joint after a preset time; and replacing the risk value of the risk joint with the predicted risk value of the risk joint.

[0013] Optionally, controlling the joint movement of the robotic arm according to the damping correction speed includes: identifying all risk joints that meet preset conditions as target risk joints; iteratively projecting the damping correction speed according to a preset order of all identified target risk joints, projecting the projected speed obtained in the previous iteration onto the safety half-space of the target risk joint in the current iteration in each iteration, and determining the final projected speed as the safety speed, wherein the safety half-space of the target risk joint is a closed half-space composed of the end-effector safety Cartesian speed corresponding to the target risk joint, and the end-effector safety Cartesian speed corresponding to the target risk joint makes the joint speed component of the target risk joint in its risk movement direction less than or equal to 0; and controlling the joint movement of the robotic arm according to the safety speed.

[0014] Optionally, determining the risk joints that meet the preset conditions among all risk joints as target risk joints includes: determining the risk joints among all risk joints that have been determined by predicting the over-limit risk value and whose determined predicting over-limit risk value indicates the existence of a second over-limit risk as target risk joints, wherein the risk level of the second over-limit risk is greater than the risk level of the first over-limit risk.

[0015] Optionally, the step of using the end Cartesian velocity determined based on the admittance controller, the first modified damping matrix, and the resultant external force as the damping correction velocity includes: determining the projection matrix of the free subspace based on the projection matrix of the risk subspace, wherein the free subspace and the risk subspace are orthogonal complements of each other; performing a second modification process on the first modified damping matrix based on the projection matrix of the free subspace to obtain a second modified damping matrix, thereby reducing the damping on the free subspace; and using the end Cartesian velocity determined based on the admittance controller, the second modified damping matrix, and the resultant external force as the damping correction velocity.

[0016] According to a second aspect of the present disclosure, a robotic arm teaching device is provided, the robotic arm teaching device comprising: an acquisition unit configured to acquire a net external force applied to the end effector of the robotic arm, joint positions and limit ranges of each joint of the robotic arm, and a Jacobian inverse matrix, wherein the Jacobian inverse matrix is ​​used to map the end effector Cartesian velocity of the robotic arm to the joint velocity of each joint; an evaluation unit configured to, for each joint, determine the risk information of exceeding the limit for that joint based on the joint position and limit range; and a construction unit configured to, based on the risk information of exceeding the limit for all joints and the Jacobian inverse matrix. The system comprises: a projection matrix for constructing a risk subspace, wherein the risk subspace represents a subspace in Cartesian space where there is a risk of exceeding the limit; a correction unit configured to perform a first correction process on the damping matrix of the admittance controller based on the projection matrix of the risk subspace to obtain a first corrected damping matrix, thereby increasing the damping in the corresponding direction of the risk subspace; a determination unit configured to use the end Cartesian velocity determined based on the admittance controller, the first corrected damping matrix, and the resultant external force as the damping correction velocity; and a control unit configured to control the joint movement of the robotic arm based on the damping correction velocity.

[0017] Optionally, the risk information includes a risk value and a risk direction, wherein the risk value is used to represent the degree of risk of exceeding the limit, and the construction unit is further configured to: for each joint, if the risk value of the joint indicates that the joint has a first risk of exceeding the limit, determine the joint as a risk joint; and construct the projection matrix of the risk subspace based on the risk information of all risk joints and the Jacobian inverse matrix.

[0018] Optionally, the building unit is further configured to: for each risk joint, determine the risk direction unit vector of the risk joint based on the vector corresponding to the risk joint in the Jacobian inverse matrix and the risk movement direction of the risk joint; and construct the projection matrix of the risk subspace based on the risk direction unit vectors of all risk joints and the over-limit risk value, wherein the risk subspace is a subspace composed of the risk direction unit vectors of all risk joints.

[0019] Optionally, the evaluation unit is further configured to: for each joint, determine the upper and lower bounds of the joint position relative to the upper and lower boundaries of the limiting interval, respectively, and determine the minimum of the upper and lower bounds as the reference distance; determine the over-limit risk value of the joint based on the reference distance; and determine the direction of the limiting interval boundary corresponding to the reference distance as the risk movement direction of the joint.

[0020] Optionally, the building unit is further configured to: for each risk joint, determine the nominal joint velocity of the risk joint based on the resultant external force; if the direction of the nominal joint velocity of the risk joint is consistent with the risk movement direction of the risk joint, determine the predicted over-limit risk value of the risk joint after a preset time; and replace the over-limit risk value of the risk joint with the predicted over-limit risk value of the risk joint.

[0021] Optionally, the control unit is further configured to: identify all risk joints that meet preset conditions as target risk joints; iteratively project the damping correction speed according to a preset order of all identified target risk joints, projecting the projected speed obtained in the previous iteration onto the safety half-space of the target risk joint in the current iteration, and determining the final projected speed as the safety speed, wherein the safety half-space of the target risk joint is a closed half-space composed of the end-effector safety Cartesian speed corresponding to the target risk joint, and the end-effector safety Cartesian speed corresponding to the target risk joint makes the joint speed component of the target risk joint in its risk movement direction less than or equal to 0; and control the joint movement of the robotic arm according to the safety speed.

[0022] Optionally, the control unit is further configured to identify, among all risk joints, risk joints for which a predicted over-limit risk value has been determined and the determined predicted over-limit risk value indicates the existence of a second over-limit risk as target risk joints, wherein the risk level of the second over-limit risk is greater than the risk level of the first over-limit risk.

[0023] Optionally, the determining unit is further configured to: determine the projection matrix of the free subspace based on the projection matrix of the risk subspace, wherein the free subspace and the risk subspace are orthogonal complements of each other; perform a second correction process on the first modified damping matrix based on the projection matrix of the free subspace to obtain a second modified damping matrix, so as to reduce the damping on the free subspace; and use the end Cartesian velocity determined based on the admittance controller, the second modified damping matrix and the resultant external force as the damping correction velocity.

[0024] According to a third aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and at least one memory storing computer-executable instructions, wherein the computer-executable instructions, when executed by the at least one processor, cause the at least one processor to perform a robotic arm teaching method according to an exemplary embodiment of the present disclosure.

[0025] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, wherein instructions in the computer-readable storage medium, when executed by at least one processor, cause at least one processor to perform a robotic arm teaching method according to an exemplary embodiment of the present disclosure.

[0026] According to a fifth aspect of the present disclosure, a computer program product is provided, including computer instructions that, when executed by at least one processor, cause at least one processor to perform a robotic arm teaching method according to an exemplary embodiment of the present disclosure.

[0027] The technical solutions provided by the embodiments of this disclosure offer at least the following beneficial effects: Based on the robotic arm teaching method, apparatus, electronic device, storage medium, and program product of this disclosure, anisotropic admittance damping modulation in Cartesian space is used. By combining the risk information of each joint and the Jacobian inverse matrix, a projection matrix of the risk subspace is constructed. Then, in the damping matrix of the admittance controller, damping is added only in the direction of the risk subspace, while the directions of the free subspace, which are orthogonally complementary to the risk subspace, remain unchanged. This reduces compliance only in the risk direction (while in the prior art, isotropic damping reduction reduces compliance in all directions). In other words, movement is restricted only in the risk subspace direction, effectively preserving the degree of freedom in the free subspace direction. This ensures that the operator's feel is almost unaffected when dragging in the safe direction, guaranteeing smooth dragging and thus balancing safety and user experience. Furthermore, since the damping modulation is completed within the admittance controller, the operator can directly feel the increased resistance when pushing in the risk subspace direction, ensuring that the force perception is consistent with the robotic arm's movement direction, achieving consistent feel. Furthermore, the robotic arm teaching method of the exemplary embodiments of this disclosure, compared with the existing single-joint speed limiting method, ensures the kinematic consistency of the Jacobian mapping and effectively reduces safety hazards because the operation is still kept in Cartesian space; compared with the existing zero-space projection method, it can be applied to a 6-DOF non-redundant robotic arm, meeting the needs of industrial applications.

[0028] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0029] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure, and are not intended to unduly limit this disclosure.

[0030] Figure 1 This is a flowchart of a robotic arm teaching method according to an exemplary embodiment of the present disclosure.

[0031] Figure 2 This is a schematic diagram illustrating the construction of risk subspaces and free subspaces in a three-dimensional Cartesian space according to exemplary embodiments of the present disclosure.

[0032] Figure 3This is a schematic diagram of vector projection according to an exemplary embodiment of the present disclosure.

[0033] Figure 4 This is a block diagram of a robotic arm teaching device according to exemplary embodiments of the present disclosure.

[0034] Figure 5 This is a block diagram of an electronic device according to exemplary embodiments of the present disclosure. Detailed Implementation

[0035] To enable those skilled in the art to better understand the technical solutions of this disclosure, the technical solutions in the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings.

[0036] It should be noted that the terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented in orders other than those illustrated or described herein. The embodiments described in the following examples do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.

[0037] It should be noted that the phrase "at least one of several items" in this disclosure refers to three parallel cases: "any one of the several items", "a combination of any number of the several items", and "all of the several items". For example, "including at least one of A and B" includes the following three parallel cases: (1) including A; (2) including B; (3) including A and B. Another example is "performing at least one of step one and step two", which means the following three parallel cases: (1) performing step one; (2) performing step two; (3) performing both step one and step two.

[0038] The robotic arm teaching method, apparatus, electronic device, storage medium, and program product according to exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings.

[0039] Figure 1 This is a flowchart of a robotic arm teaching method according to exemplary embodiments of the present disclosure. The method can be executed on an electronic device with sufficient computing power.

[0040] Reference Figure 1 In step S101, the resultant external force applied to the end of the robotic arm, the joint position and limit range of each joint of the robotic arm, and the Jacobian inverse matrix are obtained.

[0041] Taking robotic arm drag teaching based on a six-dimensional force / torque sensor as an example, the standard control process of the relevant technology is as follows: the six-dimensional force sensor collects the resultant external force applied by the operator in real time. After tool gravity compensation and filtering, this force data represents the pure external force actually applied to the end effector by the operator. It is then fed into an admittance controller in Cartesian space. The admittance controller calculates the velocity response that the robotic arm's end effector should produce in Cartesian space based on a virtual mass-damped system model. The dynamic model of the admittance controller is as follows: (1) In the above formula, Let be the desired inertia matrix. Let be the desired damping matrix. This refers to the Cartesian velocity, also known simply as the Cartesian velocity. yes The derivative with respect to time is the Cartesian acceleration. The Cartesian velocity of the nominal admittance controller can be calculated from this equation: (2) The actual Cartesian space output speed will be recalculated based on this.

[0042] In robot kinematics, the Jacobian matrix describes the mapping relationship between joint velocities and the Cartesian velocity of the end effector of a robotic arm. The definition and mapping relationship of the Jacobian matrix are as follows: (3) The Jacobian matrix under the current configuration. Let the joint position vector be a vector containing each element. Indicates joint The position (for a rotational joint, the joint position is the joint angle; for a translational joint, the joint position is the joint displacement). This represents the number of joints in the robotic arm. (Jacobi matrix) There are 6 rows and n columns, representing the joint pairs of the corresponding columns in Cartesian space. Contributions in six velocity directions.

[0043] In robot kinematics, Cartesian space velocity and joint space velocity can be converted to each other using Jacobian matrices, with the specific conversion relationships as follows: (4) In the above formula, This is the Jacobian inverse matrix, used to map the end effector Cartesian velocity of the robotic arm to the joint velocity of each joint. This is a joint velocity vector, where each element represents the joint velocity of a joint (for rotary joints, the joint velocity is the joint angular velocity, and for translational joints, the joint velocity is the joint linear velocity).

[0044] For the case where n=6, the Jacobian matrix is ​​a square matrix (i.e., the number of rows and columns is equal). If the robotic arm is not in a singular position (i.e., the matrix is ​​of full rank), the exact inverse matrix can be calculated. As the Jacobian inverse matrix. However, considering that the numerical stability of calculating the inverse matrix may be insufficient near singular positions, the damped pseudo-inverse of the Jacobian matrix can also be used near singular positions. As an alternative, among them The damping coefficient is... It is an identity matrix.

[0045] For cases where n ≠ 6, or where n = 6 but the matrix rank is reduced due to the robotic arm being in a singular position, the exact inverse matrix cannot be calculated. In such cases, the pseudo-inverse of the Jacobian matrix can be used as a substitute. Furthermore, because traditional methods for finding the pseudo-inverse in singular positions often result in excessively large values, damped least squares is commonly used to solve for the pseudo-inverse of the Jacobian matrix.

[0046] In step S102, for each joint, the risk information of exceeding the limit for that joint is determined based on the joint position and the limit range of that joint.

[0047] Each joint The limit range can be represented as ,in This is the lower boundary of the limiting range. This represents the upper boundary of the limiting range. By comparing the actual joint position with the limiting range of the joint, we can understand how close the joint is to the boundary. The closer it is to the boundary, the higher the risk of exceeding the limit, thus obtaining information on the risk of exceeding the limit. This will be explained in detail later and will not be elaborated on here.

[0048] In step S103, the projection matrix of the risk subspace is constructed based on the risk information of all joints and the Jacobian inverse matrix.

[0049] The risk subspace represents the subspace in Cartesian space where there is a risk of exceeding limits. This step combines the risk information of each joint with the Jacobian inverse matrix used to realize velocity space mapping to construct the projection matrix of the risk subspace in Cartesian space. This matrix is ​​used to project any Cartesian space vector onto the risk subspace, enabling subsequent steps to perform different treatments on joints with different risks within Cartesian space.

[0050] In step S104, the damping matrix of the admittance controller is first corrected according to the projection matrix of the risk subspace to obtain the first corrected damping matrix, so as to increase the damping in the corresponding direction of the risk subspace.

[0051] The damping matrix of the admittance controller is as described above. During the first correction process, for example, the projection matrix of the risk subspace can be added to the damping matrix, and the result can be used as the first corrected damping matrix. As an example, a coefficient can also be constructed, multiplied by the projection matrix of the risk subspace, and then added to the damping matrix to change the magnitude of the increased damping. This disclosure does not limit this process.

[0052] It should be understood that the risk subspace is a subspace of Cartesian space. Therefore, the direction corresponding to the risk subspace does not directly represent the joint movement direction where there is a risk of joint exceeding its limits. Rather, it indicates that when the operator applies force in that direction, it may cause a certain joint to exceed its limits. It should also be understood that for rotational joints, the direction of joint movement is the direction of joint rotation, and for translational joints, the direction of joint movement is the direction of joint displacement.

[0053] In step S105, the end Cartesian velocity determined based on the admittance controller, the first corrected damping matrix, and the resultant external force is used as the damping corrected velocity.

[0054] For example, this step can replace the damping matrix in the aforementioned formula (2) with the first modified damping matrix to calculate the damping modified velocity. For the embodiment described later, which continues to perform the second modification process and obtains the second modified damping matrix, the damping matrix in the aforementioned formula (2) can be replaced with the second modified damping matrix to calculate the damping modified velocity.

[0055] In step S106, the joint movement of the robotic arm is controlled according to the damping correction speed.

[0056] This step can be based on the second transformation relationship in the aforementioned formula (4) to map the damping correction velocity to the joint space, thereby converting it into the joint velocity of each joint, and then controlling the joint movement according to the joint velocity. Specifically, the final joint velocity vector can be... Integrate the data to obtain joint position commands, and then send them to the servo motors of each joint: (5) In the above formula, This refers to the target joint position for this control operation. This represents the current actual joint position. To control the cycle.

[0057] The robotic arm teaching method according to the exemplary embodiments of this disclosure is based on Cartesian space anisotropic admittance damping modulation. By combining the risk information of each joint and the Jacobian inverse matrix, a projection matrix of the risk subspace is constructed. Then, in the damping matrix of the admittance controller, damping is added only in the direction of the risk subspace, while the direction of the orthogonal complement space of the risk subspace (that is, the subspace formed by all orthogonal vectors of the risk subspace, hereinafter referred to as the free subspace) remains unchanged. This reduces compliance only in the risk direction (while the isotropic damping method in the prior art reduces compliance in all directions). In other words, movement is restricted only in the risk subspace direction, effectively preserving the degree of freedom of movement in the free subspace direction. This ensures that the operator's feel is almost unaffected when dragging in the safe direction, guaranteeing smooth dragging and thus balancing safety and user experience. Furthermore, since the damping modulation is completed within the admittance controller, the operator can directly feel the increased resistance when pushing in the risk subspace direction, making the force perception consistent with the direction of the robotic arm's movement, achieving consistent feel. Furthermore, the robotic arm teaching method of the exemplary embodiments of this disclosure, compared with the existing single-joint speed limiting method, ensures the kinematic consistency of the Jacobian mapping and effectively reduces safety hazards because the operation is still kept in Cartesian space; compared with the existing zero-space projection method, it can be applied to a 6-DOF non-redundant robotic arm, meeting the needs of industrial applications.

[0058] The robotic arm teaching method according to exemplary embodiments of the present disclosure will be further described below.

[0059] The modification of the damping matrix in step S104 may reduce the sensitivity of the free subspace direction through directional coupling, thereby reducing the operability in the corresponding direction.

[0060] Optionally, step S105 includes: determining the projection matrix of the free subspace based on the projection matrix of the risk subspace; performing a second correction process on the first modified damping matrix based on the projection matrix of the free subspace to obtain a second modified damping matrix, thereby reducing damping in the free subspace; and using the end Cartesian velocity determined based on the admittance controller, the second modified damping matrix, and the resultant external force as the damping correction velocity. By appropriately reducing damping in the free subspace direction, the decrease in sensitivity in the free subspace direction caused by modifying the damping matrix can be effectively compensated. Tests have shown that, with the aid of free-direction damping compensation, the operating sensitivity can be restored to more than 85% of its original value.

[0061] Specifically, the difference between the identity matrix and the projection matrix of the risk subspace can be calculated and used as the projection matrix of the free subspace. This matrix is ​​used to project any Cartesian space vector onto the free subspace. It should be understood that since the free subspace and the risk subspace are orthogonal complements, the product of their projection matrices is equal to 0 (satisfying orthogonality), and the sum is equal to the identity matrix. This ensures that when any vector in Cartesian space is projected onto the projection matrix of a free subspace, no vector with a risky direction will appear, and no vector information will be lost.

[0062] As an example, when performing the second correction process, the result of subtracting the projection matrix of the free subspace from the first correction damping matrix can be used as the second correction damping matrix. Similarly to the first correction process, appropriate coefficients can be constructed, multiplied by the projection matrix of the free subspace, and the difference between the first correction damping matrix and the product can be calculated to change the magnitude of the damping reduction. This disclosure does not impose any limitations on this.

[0063] Regarding the risk information for exceeding limits, optionally, the risk information for each joint includes the risk value for that joint and the direction of risky movement. The risk value represents the degree of risk of exceeding limits, and the direction of risky movement is one of the two movement directions of that joint. This utilizes two scalars to achieve both simplicity and comprehensiveness in the risk information. It should be understood that the two movement directions of a joint are the directions in which the joint position decreases and increases. For a rotational joint, these are the directions in which the joint angle decreases and increases; for a translational joint, these are the directions in which the joint displacement decreases and increases.

[0064] Accordingly, step S102 may include: for each joint, determining the upper and lower bounds of the joint position relative to the upper and lower boundaries of the limiting interval, and determining the minimum of the upper and lower bounds as the reference distance; determining the over-limit risk value of the joint based on the reference distance; and determining the direction of the limiting interval boundary corresponding to the reference distance as the risk movement direction of the joint.

[0065] The above calculations can be expressed using formulas. Regarding the reference distance, for each joint... Calculate its joint position Distance to the upper and lower limit boundaries and The minimum of the two values ​​is determined as the reference distance. : (6) The reference distance can be directly used as the over-limit risk value; in this case, the smaller the reference distance, the greater the over-limit risk. Alternatively, the reference distance can be further processed, and the result can be used as the over-limit risk value. For example, it can be normalized to make its value range [0,1]; or the correlation with the over-limit risk can be changed so that the larger the final over-limit risk value, the greater the over-limit risk; furthermore, a mapping function from the reference distance to the over-limit risk value can be designed to give the over-limit risk value other desired characteristics, which is not limited in this disclosure.

[0066] As an example, a soft protection activation threshold can be set. For example, the risk factor can be calculated for each joint using the following formula, taking 5% to 15% of the joint travel (i.e., the length of the joint's limiting range). As an out-of-limit risk value: (7) The cosine function is and The time derivative is 0, which ensures the continuity of the risk coefficient, so there will be no sudden changes in velocity.

[0067] Regarding the direction of risky movement, for example, -1 can be used to represent the direction in which the joint position decreases, and +1 can be used to represent the direction in which the joint position increases. Following this example, the direction of risky movement can be calculated using, for instance, the following formula. : (8) For example, the following formula can be used to calculate the direction of risk movement. : (9) The two formulas above have essentially the same meaning.

[0068] Based on the aforementioned risk information regarding exceeding limits, step S103 can be further refined. Optionally, step S103 includes: for each joint, if the risk value of that joint indicates the existence of a first risk exceeding limits, identifying that joint as a risky joint; and constructing a projection matrix of the risk subspace based on the risk information of all risky joints and the Jacobian inverse matrix. By using a clearly defined first risk exceeding limits to select risky joints from all joints and constructing the projection matrix of the risk subspace accordingly, instead of constructing it for all joints, the requirements for safety control can be met while effectively reducing the amount of computation, thereby improving control efficiency.

[0069] The above text combines the soft protection activation threshold Calculate the risk coefficient For example, in the implementation of this method, a reference distance can be used. Less than the soft protection activation threshold To represent the first risk of exceeding the limit, which is to use the reference distance. Less than the soft protection activation threshold joints Joints identified as high-risk can be identified by calculating the risk coefficient for each joint. Then, the risk joint set is further calculated. .

[0070] Further optionally, step S103, which involves constructing a projection matrix of the risk subspace based on the risk information of all risk joints and the Jacobian inverse matrix, includes: for each risk joint, determining the risk direction unit vector of that risk joint based on the vector corresponding to that risk joint in the Jacobian inverse matrix and the risk movement direction of that risk joint; and constructing a projection matrix of the risk subspace based on the risk direction unit vectors of all risk joints and the risk value of exceeding the limit, wherein the risk subspace is a subspace composed of the risk direction unit vectors of all risk joints.

[0071] As introduced earlier, each column vector of the Jacobian matrix can represent the corresponding joint pair in Cartesian space. The contributions from the six velocity directions, therefore, have a geometric meaning that the Cartesian velocities generated at the end effector of the robotic arm when a single joint moves at a unit velocity, can form a set of basis vectors describing the joint motion. Correspondingly, the geometric meaning of each row vector of the Jacobian inverse mapping matrix (i.e., the vector corresponding to each joint) is that the Cartesian velocity motion of the robotic arm's end effector is decomposed into the joint velocities at each joint. Based on this geometric meaning, the Jacobian inverse matrix... A row vector unit vector This can be interpreted as meaning that when the end effector moves at a Cartesian velocity only along this direction, it will only drive the joint corresponding to that row vector. Exercise. Based on this, multiply by the aforementioned risk factors for the direction of the exercise. This can be used as the joint. Risk direction unit vector: (10) Its physical meaning is that when the end of the robotic arm moves along... During directional movement, the joint It will approach its risky direction at the fastest speed.

[0072] After obtaining the risk direction unit vectors for each risk joint, the subspace formed by these vectors can be used as the risk subspace. The risk subspace can then be represented by a matrix composed of the risk direction unit vectors of each risk joint. As an example, risk weights can be further added to the risk direction unit vectors of all risk joints. For instance, the risk weights can be determined based on the over-limit risk value of the corresponding risk joint, using the aforementioned risk coefficients. For example, it can be used as a risk weight. Considering that its value ranges from [0,1], the square root can also be taken. This allows for the amplification of individual weight values ​​without altering the overall range of risk weights or the relative magnitudes of different weights, thereby increasing the weight resolution. In this case, the risk subspace can be represented as: (11) In the above formula, , where m is the number of risky joints.

[0073] Orthogonalizing N yields the standard orthogonal basis of the risk subspace. Where orth represents the orthogonalization process, and thus the projection matrix of the risk subspace can be constructed. .

[0074] Accordingly, step S105 can be performed according to Calculate the projection matrix of the free subspace.

[0075] Since the risk direction unit vector of the risk joint is used to construct the risk subspace when solving the projection matrix of the risk subspace, when there are multiple risk joints, the risk directions of multiple risk joints will be orthogonalized. This avoids repeated projection interference caused by the overlapping of risk directions between different risk joints, thus ensuring the mathematical rigor of the projection matrix.

[0076] For three-dimensional Cartesian space, for example Figure 2 As shown, the current angle of the second joint is Approaching its lower limit boundary, its risk direction unit vector can be calculated according to formula (10) and denoted as (Because at this point only this one joint in the robotic arm is identified as a risk joint, m=1), and there is no need to increase the risk weight further, that is, to... As a risk subspace, its orthogonal complement As a free subspace, any vector in Cartesian space passes through... After left multiplication, all values ​​fall into the risk subspace, after which... After left multiplication, all will fall into the free subspace. For example... Figure 3 As shown, vector go through The vector after left multiplication is ,go through The vector after left multiplication is It can be seen that after After left multiplication, there will be no components in the risky subspace direction.

[0077] Based on this, in step S104, when performing the first correction process, that is, modifying the damping matrix inside the admittance controller to significantly increase the damping in the risk subspace direction, while keeping the original damping unchanged in the free subspace direction, for example, the largest risk coefficient among all risk joints can be taken. Construct the first modified damping matrix: (12) In the above formula, This is the damping gain coefficient. The specific value of this coefficient can be adjusted based on the actual dragging feel, for example, including but not limited to taking more than 5 times the original damping diagonal element. After this transformation, the damping in the risk subspace direction can be rapidly increased. When the operator continues to push in the corresponding direction, they will encounter significant resistance, thus naturally adjusting the dragging direction.

[0078] For step S105, the first modified damping matrix is ​​subjected to a second modification process, and the resulting second modified damping matrix can be expressed as follows: (13) In the above formula, To compensate for the strength coefficient, positive definiteness constraints must be satisfied. ,in It is the damping matrix The minimum eigenvalue is used to ensure system stability. The specific value can be determined based on the actual drag feel.

[0079] The compensated second modified damping matrix Introduced into the admittance controller: (14) When the original damping diagonal elements are the same and are constant At that time, the output velocity in Cartesian space (i.e., the damped correction velocity) is: (15) According to this formula, the Cartesian space velocity in the free subspace is used to enhance sensitivity. Responding to external forces, in the risk subspace, with decreased sensitivity Attenuate external forces that pose a risk.

[0080] Optionally, before constructing the projection matrix of the risk subspace based on the over-limit risk information and the Jacobian inverse matrix of all risk joints, step S103 further includes: for each risk joint, determining the nominal joint velocity of the risk joint based on the net external force; if the direction of the nominal joint velocity of the risk joint is consistent with the risk movement direction of the risk joint, determining the predicted over-limit risk value of the risk joint after a preset time; and replacing the over-limit risk value of the risk joint with the predicted over-limit risk value of the risk joint. By comparing the direction of the nominal joint velocity of the risk joint with the risk movement direction of the risk joint, it is possible to determine whether the force currently applied by the operator will drive the risk joint to further approach the boundary of the limit interval. Simultaneously, if the determination result is yes, replacing the current over-limit risk value with the predicted over-limit risk value after a preset time allows the protection to be activated earlier at the moment the force is applied, avoiding delayed protection intervention due to the joint rapidly approaching the limit boundary, thereby improving the protection strength.

[0081] Specifically, the nominal admittance velocity (the velocity output by the normal Cartesian space admittance controller) can be calculated first according to formula (2), and then the nominal joint velocity of each risk joint at this time can be calculated according to the Jacobian matrix: (16) like This indicates that the force applied by the operator is driving the joint. Move in the direction of the risk. To allow the first risk of exceeding the limit to be activated earlier (e.g., by using the soft protection threshold mentioned above). (Indicates) For the condition to take effect, it is necessary to predict the joint position and the corresponding risk value of crossing the line. If the joint is predicted to be affected... If there is a risk of exceeding the limit, force direction suppression should be implemented in advance.

[0082] As an example, the predicted risk value for exceeding the limit can be calculated using the following formula based on a given preset duration: (17) In the above formula, This indicates the preset duration, and its value range includes, but is not limited to, 0.1 seconds to 0.3 seconds.

[0083] For example, instead of specifying a particular preset duration, a velocity-related dynamic threshold scheme based on the current joint speed can be used, i.e.: (18) This scheme calculates the equivalent distance based on the braking distance formula. The maximum acceleration of braking is represented by , but this scheme is only effective when the joint is already in motion (i.e. after the force is applied and the velocity is generated), while the force direction prediction scheme represented by formula (17) can be determined at the moment the force is applied, and the response is more timely.

[0084] After that, it can be Replace with formula (7) Recalculate the risk coefficient .

[0085] It should be understood that the above-mentioned operation of "constructing the projection matrix of the risk subspace based on the risk information of all risk joints and the Jacobian inverse matrix" further includes two additional operations. The latter of these two operations is the specific operation of constructing the projection matrix of the risk subspace. Therefore, the operation included in step S103 of the current embodiment can also be specifically executed before the latter of the above two operations, that is, before actually constructing the projection matrix of the risk subspace. This is also an implementation method of this disclosure and falls within the protection scope of this disclosure.

[0086] To further enhance safety, step S106, based on the Cartesian space anisotropic admittance damping modulation, optionally includes: identifying all risk joints that meet preset conditions as target risk joints; iteratively projecting the damping correction velocity according to a preset order of all identified target risk joints, projecting the projected velocity obtained in the previous iteration onto the safety half-space of the target risk joint in the current iteration, and determining the final projected velocity as the safety velocity, wherein the safety half-space of the target risk joint is a closed half-space composed of the end-effector safety Cartesian velocity corresponding to the target risk joint, and the end-effector safety Cartesian velocity corresponding to the target risk joint makes the joint velocity component of the target risk joint in its risk motion direction less than or equal to 0; and controlling the joint movement of the robotic arm according to the safety velocity.

[0087] This embodiment employs Cartesian space velocity half-space projection, that is, it utilizes... The relationship will limit the joint. Half-space constraints equivalent to transformation into Cartesian space This makes the projected target risk joint The velocity in the risky movement direction is strictly zeroed out, and because this operation involves direct projection in Cartesian space to remove the out-of-limit velocity component, the corrected velocity is guaranteed to remain a legal Cartesian velocity. The joint velocity obtained after Jacobian matrix mapping naturally satisfies kinematic consistency and does not have end-effector deviation issues. Through a two-layer progressive protection of "anisotropic damping modulation + Cartesian velocity projection," the target risky joint is mathematically guaranteed not to exceed the limits. The damping modulation layer undertakes more than 90% of the protection work (based on the soft constraint of the first out-of-limit risk), while the velocity projection layer, as the final safety net, strictly zeros out-of-limit components (based on the hard constraint of the second out-of-limit risk). Furthermore, the velocity projection layer is executed after damping modulation, and its correction is very small, almost imperceptible to the operator, maintaining consistent feel. On the other hand, by performing velocity projection on each of the identified target risky joints, the joint velocity components in the risky movement direction of each target risky joint are zeroed out, fully ensuring the safety of control.

[0088] As an example, the preset order could be, but is not limited to, an order of decreasing risk level, so that the velocity components of high-risk joints can be cleared first.

[0089] Regarding the determination of target risk joints, optionally, step S106, which involves identifying risk joints among all risk joints that meet preset conditions as target risk joints, includes: identifying risk joints among all risk joints whose predicted over-limit risk values ​​have been determined and whose determined predicted over-limit risk values ​​indicate the existence of a second over-limit risk, as target risk joints. The degree of risk of the second over-limit risk is greater than the degree of risk of the first over-limit risk. Risk joints whose predicted over-limit risk values ​​have been determined are those whose nominal joint velocity direction is consistent with the direction of the risk movement. By selecting joints with higher over-limit risk (i.e., second over-limit risk) from these risk joints as target risk joints, reliable safety control can be achieved by eliminating the joint velocity components of these joints.

[0090] As an example, a hard protection activation threshold can be set. (For example, but not limited to taking) 30%), to determine the set of hard-activated joints This refers to the set of target risk joints. For each joint in H (according to...), ... (arranged in descending order), check the Cartesian velocity of the admittance controller output. Do out-of-limit components still exist? (19) like This represents the velocity component in the direction of motion where the joint still poses a risk; a half-space projection is then performed. (20) This formula is a half-space projection formula, and it satisfies the following conditions after projection. joint The velocity in its risky motion direction is strictly zeroed. When multiple joints are simultaneously in a hard-activated state, half-space projection is performed sequentially in descending order of risk coefficient.

[0091] The following describes a robotic arm teaching method based on a specific embodiment of this disclosure.

[0092] This specific embodiment addresses the "global jamming" or "end-effector direction deviation" problem that occurs when a joint approaches its physical angular limit during Cartesian space drag teaching of a robotic arm based on a six-dimensional force sensor. It proposes a joint limit protection method for robotic arm drag teaching based on Cartesian space velocity reprojection and anisotropic admittance damping modulation. The core objective is to maximize the retention of motion degrees of freedom (smoothness) in unrestricted directions (i.e., non-risk motion directions) while ensuring that the joint does not exceed its limits (safety), and to maintain consistency between the operator's force perception and the robotic arm's motion direction (feel consistency). This method is particularly applicable to various robotic arm drag teaching and teleoperation scenarios, including 6-DOF non-redundant robotic arms, and can also be applied to other operational scenarios. The core idea of ​​this method is to utilize the geometric meaning of the row vectors of the Jacobian inverse mapping matrix to represent the joint space limit constraint as an equivalent half-space constraint in Cartesian space. Through a two-layer progressive mechanism of anisotropic damping modulation and velocity direction projection, directional limit protection is achieved in Cartesian space. To illustrate the execution time sequence of the above embodiments, this specific embodiment describes the overall process in conjunction with the following nine steps, and explains the relationship between each step and... Figure 1 The correspondence between the steps shown is illustrated above, and the specific operations for each step are described in detail here. It should be understood that the following execution order is merely an example for illustrative purposes; the execution order of these steps and their specific operations can be adjusted as needed, provided it is logically sound.

[0093] Step 1: Force data acquisition.

[0094] This step corresponds to the operation of obtaining the net external force in step S101. It can be achieved by using a six-dimensional force sensor installed at the end of the robotic arm to collect the net external force data applied by the operator in real time. After tool gravity compensation and filtering, the pure external force representing the actual force applied to the end by the operator is obtained.

[0095] Step 2: Joint over-limit risk assessment.

[0096] This step corresponds to the operation of obtaining the joint position and limit range of each joint in step S101, step S102 (i.e., determining the risk information of each joint exceeding the limit), and the operation of determining the risk joint in step S103.

[0097] Step 3: Risk assessment of joint over-limit.

[0098] This step corresponds to the operation in step S103 of predicting and replacing the risk value of some risk joints (i.e., risk joints that will be driven by the current external force to approach the boundary of the limit range).

[0099] Step 4: Construct the projection matrices of the risk subspace and the free subspace.

[0100] This step corresponds to the operation of obtaining the Jacobian inverse matrix in step S101, the operation of constructing the projection matrix of the risk subspace in step S103, and the operation of determining the projection matrix of the free subspace in step S105.

[0101] Step 5: Anisotropic admittance damping modulation.

[0102] This step corresponds to step S104, which is to perform the first correction process on the damping matrix of the admittance controller.

[0103] Step Six: Free Direction Compensation.

[0104] This step corresponds to the second correction process in step S105.

[0105] Step 7: Use the second modified damping matrix for admittance control.

[0106] This step corresponds to the operation in step S105 where the second modified damping matrix is ​​used to calculate the damping correction velocity.

[0107] Step 8: Sequential Cartesian velocity half-space projection.

[0108] This step corresponds to the operation in step S106 of iteratively projecting the damping correction velocity to obtain the safe velocity.

[0109] Step 9: Output the command.

[0110] This step corresponds to the operation in step S106 of controlling the joint movement of the robotic arm according to a safe speed.

[0111] Figure 4 This is a block diagram of a robotic arm teaching device according to exemplary embodiments of the present disclosure. (Refer to...) Figure 4 The robotic arm teaching device 400 includes an acquisition unit 401, an evaluation unit 402, a construction unit 403, a correction unit 404, a determination unit 405, and a control unit 406.

[0112] The acquisition unit 401 is configured to acquire the net external force applied to the end of the robotic arm, the joint position and limit range of each joint of the robotic arm, and the Jacobian inverse matrix, wherein the Jacobian inverse matrix is ​​used to map the end Cartesian velocity of the robotic arm to the joint velocity of each joint.

[0113] The evaluation unit 402 is configured to determine the risk information of exceeding the limit for each joint based on the joint position and limit range of that joint.

[0114] The building unit 403 is configured to construct a projection matrix of the risk subspace based on the risk information of all joints and the Jacobian inverse matrix, where the risk subspace represents the subspace in the Cartesian space where there is a risk of exceeding the limit.

[0115] The correction unit 404 is configured to perform a first correction process on the damping matrix of the admittance controller according to the projection matrix of the risk subspace to obtain a first corrected damping matrix, so as to increase the damping in the corresponding direction of the risk subspace.

[0116] The determining unit 405 is configured to use the end Cartesian velocity determined according to the admittance controller, the first corrected damping matrix and the resultant external force as the damping corrected velocity.

[0117] The control unit 406 is configured to control the joint movement of the robotic arm according to the damping correction speed.

[0118] Optionally, the risk information includes the risk value and the direction of risk movement. The risk value is used to represent the degree of risk of exceeding the limit. The construction unit 403 is also configured to: for each joint, if the risk value of the joint indicates that the joint has a first risk of exceeding the limit, determine the joint as a risk joint; and construct the projection matrix of the risk subspace based on the risk information of all risk joints and the Jacobian inverse matrix.

[0119] Optionally, the construction unit 403 is further configured to: for each risk joint, determine the risk direction unit vector of the risk joint based on the vector corresponding to the risk joint in the Jacobian inverse matrix and the risk movement direction of the risk joint; and construct a projection matrix of the risk subspace based on the risk direction unit vectors of all risk joints and the over-limit risk value, wherein the risk subspace is a subspace composed of the risk direction unit vectors of all risk joints.

[0120] Optionally, the evaluation unit 402 is further configured to: for each joint, determine the upper and lower bounds of the joint position relative to the upper and lower boundaries of the limit interval, respectively, and determine the minimum of the upper and lower bounds as the reference distance; determine the over-limit risk value of the joint based on the reference distance; and determine the direction of the limit interval boundary corresponding to the reference distance as the risk movement direction of the joint.

[0121] Optionally, the building unit 403 is further configured to: for each risk joint, determine the nominal joint velocity of the risk joint based on the resultant external force; if the direction of the nominal joint velocity of the risk joint is consistent with the risk movement direction of the risk joint, determine the predicted over-limit risk value of the risk joint after a preset time; and replace the over-limit risk value of the risk joint with the predicted over-limit risk value of the risk joint.

[0122] Optionally, the control unit 406 is further configured to: identify all risk joints that meet preset conditions as target risk joints; iteratively project the damping correction speed according to a preset order of all identified target risk joints, projecting the projected speed obtained in the previous round onto the safety half-space of the target risk joint in the current round in each iteration, and determining the final projected speed as the safety speed, wherein the safety half-space of the target risk joint is a closed half-space composed of the end-effector safety Cartesian speed corresponding to the target risk joint, and the end-effector safety Cartesian speed corresponding to the target risk joint makes the joint speed component of the target risk joint in its risk movement direction less than or equal to 0; and control the joint movement of the robotic arm according to the safety speed.

[0123] Optionally, the control unit 406 is further configured to identify, among all risk joints, risk joints for which a predicted over-limit risk value has been determined and the determined predicted over-limit risk value indicates the existence of a second over-limit risk as target risk joints, wherein the risk level of the second over-limit risk is greater than the risk level of the first over-limit risk.

[0124] Optionally, the determining unit 405 is further configured to: determine the projection matrix of the free subspace based on the projection matrix of the risk subspace, wherein the free subspace and the risk subspace are orthogonal complements of each other; perform a second correction process on the first modified damping matrix based on the projection matrix of the free subspace to obtain a second modified damping matrix, so as to reduce the damping on the free subspace; and use the terminal Cartesian velocity determined based on the admittance controller, the second modified damping matrix and the resultant external force as the damping correction velocity.

[0125] Regarding the apparatus in the above embodiments, the specific manner in which each unit performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.

[0126] Figure 5 A structural block diagram of an electronic device according to an exemplary embodiment of the present disclosure is shown.

[0127] Reference Figure 5The electronic device 500 includes at least one memory 501 and at least one processor 502. The at least one memory 501 stores computer-executable instructions that, when executed by the at least one processor 502, cause the at least one processor to perform the robotic arm teaching method as described in the exemplary embodiments above.

[0128] As an example, electronic device 500 may be a PC, tablet, personal digital assistant, smartphone, or other device capable of executing the aforementioned set of instructions. Here, electronic device 500 is not necessarily a single electronic device 500, but may be any collection of devices or circuits capable of executing the aforementioned instructions (or instruction sets) individually or in combination. Electronic device 500 may also be part of an integrated control system or system manager, or may be configured to interconnect with a portable electronic device 500 locally or remotely (e.g., via wireless transmission) through an interface.

[0129] In electronic device 500, processor 502 may include a central processing unit (CPU), a graphics processing unit (GPU), a programmable logic device, a dedicated processor system, a microcontroller, or a microprocessor. By way of example and not limitation, processor 502 may also include analog processors, digital processors, microprocessors, multi-core processors, processor arrays, network processors, etc.

[0130] The processor 502 can execute instructions or code stored in the memory 501, which can also store data. Instructions and data can also be sent and received over a network via a network interface device, which can employ any known transmission protocol.

[0131] The memory 501 may be integrated with the processor 502, for example, by arranging RAM or flash memory within an integrated circuit microprocessor. Alternatively, the memory 501 may include a separate device, such as an external disk drive, a storage array, or other storage device usable by any database system. The memory 501 and the processor 502 may be operatively coupled, or may communicate with each other, for example, via I / O ports, network connections, etc., enabling the processor 502 to read files stored in the memory.

[0132] In addition, electronic device 500 may also include a video display (such as a liquid crystal display) and a user interaction interface (such as a keyboard, mouse, touch input device, etc.). All components of electronic device 500 can be interconnected via a bus and / or network.

[0133] According to exemplary embodiments of the present disclosure, a computer-readable storage medium storing instructions may also be provided, wherein the instructions, when executed by at least one processor, cause at least one processor to perform the robotic arm teaching method as described in the exemplary embodiments above. Examples of computer-readable storage media herein include: read-only memory (ROM), random access programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), flash memory, non-volatile memory, CD-ROM, CD-R, CD+R, CD-RW, CD+RW, DVD-ROM, DVD-R, DVD+R, DVD-RW, DVD+RW, DVD-RAM, BD-ROM, BD-R, BD-R LTH, BD-RE, Blu-ray or optical disc storage, hard disk drive (HDD), solid-state drive (SSD), card storage (such as multimedia cards, secure digital (SD) cards, or ultra-fast digital (XD) cards), magnetic tape, floppy disk, magneto-optical data storage device, optical data storage device, hard disk, solid-state drive, and any other device configured to store a computer program and any associated data, data files, and data structures in a non-transitory manner and to provide the computer program and any associated data, data files, and data structures to a processor or computer so that the processor or computer can execute the computer program. The computer program in the aforementioned computer-readable storage medium can run in an environment deployed in computer devices such as clients, hosts, agent devices, servers, etc. Furthermore, in one example, the computer program and any associated data, data files, and data structures are distributed across a networked computer system, such that the computer program and any associated data, data files, and data structures are stored, accessed, and executed in a distributed manner through one or more processors or computers.

[0134] According to exemplary embodiments of the present disclosure, a computer program product may also be provided, including computer instructions that, when executed by at least one processor, perform the robotic arm teaching method as described in the exemplary embodiments above.

[0135] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the appended claims.

[0136] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.

Claims

1. A method for teaching a robotic arm, characterized in that, The robotic arm teaching method includes: The net external force applied to the end of the robotic arm, the joint position and limit range of each joint of the robotic arm, and the Jacobian inverse matrix are obtained, wherein the Jacobian inverse matrix is ​​used to map the end Cartesian velocity of the robotic arm to the joint velocity of each joint. For each joint, determine the risk information of exceeding the limit based on the joint position and the limit range of the joint; Based on the risk information of all joints and the Jacobian inverse matrix, a projection matrix of the risk subspace is constructed, wherein the risk subspace represents the subspace in the Cartesian space where there is a risk of exceeding the limit; Based on the projection matrix of the risk subspace, the damping matrix of the admittance controller is first corrected to obtain a first corrected damping matrix, thereby increasing the damping in the corresponding direction of the risk subspace. The end Cartesian velocity determined based on the admittance controller, the first modified damping matrix, and the resultant external force will be used as the damping correction velocity. The joint movement of the robotic arm is controlled according to the damping correction speed.

2. The robotic arm teaching method as described in claim 1, characterized in that, The limit violation risk information includes a limit violation risk value, which represents the degree of risk of exceeding the limit. The step of constructing a projection matrix of the risk subspace based on the limit violation risk information of all joints and the Jacobian inverse matrix includes: For each joint, if the risk value of the joint indicates that the joint has a first risk of exceeding the limit, then the joint is identified as a risk joint. Based on the risk information of all risk joints and the Jacobian inverse matrix, construct the projection matrix of the risk subspace.

3. The robotic arm teaching method as described in claim 2, characterized in that, The risk information regarding exceeding limits also includes the direction of risky movement. The step of constructing the projection matrix of the risk subspace based on the risk information of all risky joints and the Jacobian inverse matrix includes: For each risk joint, the risk direction unit vector of that risk joint is determined based on the vector corresponding to that risk joint in the Jacobian inverse matrix and the risk movement direction of that risk joint. Based on the risk direction unit vectors and out-of-limit risk values ​​of all risk joints, a projection matrix of the risk subspace is constructed, wherein the risk subspace is a subspace composed of the risk direction unit vectors of all risk joints.

4. The robotic arm teaching method as described in claim 2, characterized in that, The risk information regarding exceeding limits also includes the direction of risky movement. Before constructing the projection matrix of the risk subspace based on the risk information of all risky joints and the Jacobian inverse matrix, the construction of the projection matrix of the risk subspace based on the risk information of all joints and the Jacobian inverse matrix further includes: For each risky joint, the nominal joint velocity of that risky joint is determined based on the net external force. When the direction of the nominal joint velocity of the risk joint is consistent with the direction of the risk movement of the risk joint, the predicted over-limit risk value of the risk joint after a preset time is determined. Replace the out-of-limit risk value of the risk joint with the predicted out-of-limit risk value of the risk joint.

5. The robotic arm teaching method as described in claim 4, characterized in that, The step of controlling the joint movement of the robotic arm according to the damping correction speed includes: Among all risk joints, the risk joints that have been determined by the predicted over-limit risk value and whose determined predicted over-limit risk value indicates the existence of a second over-limit risk are identified as target risk joints, wherein the risk level of the second over-limit risk is greater than the risk level of the first over-limit risk; According to the predetermined order of all the target risk joints, the damping correction velocity is iteratively projected. In each iteration, the projected velocity obtained in the previous round is projected onto the safety half-space of the target risk joint in the current round. The projected velocity obtained at the end of the iteration is determined as the safety velocity. The safety half-space of the target risk joint is a closed half-space composed of the end-effector safety Cartesian velocity corresponding to the target risk joint. The end-effector safety Cartesian velocity corresponding to the target risk joint makes the joint velocity component of the target risk joint in its risk motion direction less than or equal to 0. The joint movements of the robotic arm are controlled according to the stated safe speed.

6. The robotic arm teaching method according to any one of claims 1 to 5, characterized in that, The step of using the end Cartesian velocity determined based on the admittance controller, the first corrected damping matrix, and the resultant external force as the damping correction velocity includes: Based on the projection matrix of the risk subspace, the projection matrix of the free subspace is determined, wherein the free subspace and the risk subspace are orthogonal complements of each other; Based on the projection matrix of the free subspace, the first modified damping matrix is ​​subjected to a second modification process to obtain a second modified damping matrix, so as to reduce the damping on the free subspace; The end Cartesian velocity determined based on the admittance controller, the second modified damping matrix, and the resultant external force will be used as the damping correction velocity.

7. A robotic arm teaching device, characterized in that, The robotic arm teaching device includes: The acquisition unit is configured to acquire the net external force applied to the end of the robotic arm, the joint position and limit range of each joint of the robotic arm, and the Jacobian inverse matrix, wherein the Jacobian inverse matrix is ​​used to map the end-effector Cartesian velocity of the robotic arm to the joint velocity of each joint. The evaluation unit is configured to determine the risk information of exceeding the limit for each joint based on the joint position and limit range of that joint. The construction unit is configured to construct a projection matrix of the risk subspace based on the risk information of all joints and the Jacobian inverse matrix, wherein the risk subspace represents the subspace in the Cartesian space where there is a risk of exceeding the limit; The correction unit is configured to perform a first correction process on the damping matrix of the admittance controller according to the projection matrix of the risk subspace to obtain a first corrected damping matrix, so as to increase the damping in the corresponding direction of the risk subspace. The determining unit is configured to use the end Cartesian velocity determined based on the admittance controller, the first modified damping matrix, and the resultant external force as the damping correction velocity; The control unit is configured to control the joint movement of the robotic arm based on the damping correction speed.

8. An electronic device, characterized in that, include: At least one processor; At least one memory that stores computer-executable instructions. The computer-executable instructions, when executed by the at least one processor, cause the at least one processor to perform the robotic arm teaching method as described in any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that, When the instructions in the computer-readable storage medium are executed by at least one processor, they cause the at least one processor to perform the robotic arm teaching method as described in any one of claims 1 to 6.

10. A computer program product comprising computer instructions, characterized in that, When the computer instructions are executed by at least one processor, they cause the at least one processor to perform the robotic arm teaching method as described in any one of claims 1 to 6.