Mechanical arm control method and device, electronic equipment and computer storage medium
Patent Information
- Application Number
- CN202610737885.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-26
- Publication Date
- 2026-08-21
AI Technical Summary
具体来说,在奇异区域,操作者在施加较大的力的情况下,机械臂的运动幅度可能会很小、而机械臂关节的速度可能会很大,这不仅容易引发操作者的误操作行为,导致工程事故,还会使关节速度超过物理允许的速度,引发机械臂故障
[0009] In the above technical solution, during the process of controlling the movement of the robotic arm, the singular position can be identified based on the operability of the robotic arm in various directions, thereby accurately capturing the possible singular position of the robotic arm and improving the reliability of singular position identification.
Smart Images

Figure CN122606590A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotic arm technology, and in particular to a robotic arm control method, device, electronic device, and computer storage medium. Background Technology
[0002] In scenarios such as remote operation control of robotic arms or drag-and-drop teaching, the operator can control the movement of the robotic arm. Taking remote operation control as an example, the operator can apply a net external force to the remote robotic arm through a handle. The controller of the robotic arm can determine the movement angle or speed of the robotic arm joints based on this net external force and control the movement of the robotic arm.
[0003] In the aforementioned scenario, the robotic arm may enter a "singularity zone" during its movement. Within this zone, the robotic arm exhibits instability and joint overspeed issues. Specifically, in a singularity zone, when the operator applies significant force, the robotic arm's range of motion may be minimal, while the joint speeds may be excessively high. This not only increases the risk of operator error and accidents but also causes joint speeds to exceed physical limits, leading to robotic arm malfunctions. Therefore, it is necessary to restrict the robotic arm's movement within singularity zones. Summary of the Invention
[0004] In view of this, embodiments of this application provide a robotic arm control method, apparatus, electronic device, and computer storage medium to solve the above problems.
[0005] According to a first aspect of the embodiments of this application, a robotic arm control method is provided, comprising: determining the current operability of the robotic arm in each operating direction based on the current pose information of each joint of the robotic arm; operability is positively correlated with motion capability; adjusting the net external force currently applied to the robotic arm based on the current operability of the robotic arm in each operating direction to obtain the adjusted net external force; and determining the current control parameters of the joints of the robotic arm based on the adjusted net external force.
[0006] According to a second aspect of the embodiments of this application, a robotic arm control device is provided, comprising: a determining module, configured to determine the current operability of the robotic arm in each operating direction based on the current pose information of each joint of the robotic arm; a first execution module, configured to adjust the net external force currently acting on the robotic arm based on the current operability of the robotic arm in each operating direction, to obtain an adjusted net external force; and a second execution module, configured to determine the current control parameters of the joints of the robotic arm based on the adjusted net external force.
[0007] According to a third aspect of the present application, an electronic device is provided, comprising: a processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other via the communication bus; the memory is used to store at least one executable instruction, wherein the executable instruction causes the processor to perform an operation corresponding to the method described in the first aspect.
[0008] According to a fourth aspect of the embodiments of this application, a computer storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method described in the first aspect.
[0009] In the above technical solution, during the process of controlling the movement of the robotic arm, the singular position can be identified based on the operability of the robotic arm in various directions, thereby accurately capturing the possible singular position of the robotic arm and improving the reliability of singular position identification.
[0010] When the robotic arm moves to a singular position, the force controlling its movement in that singular direction is suppressed, while the force controlling its movement in other directions is left untreated. In this way, when the robotic arm is in a singular position, movement in a more singular direction becomes more strenuous, while movement in a direction away from the singular becomes less strenuous. Based on natural human reflexes, the operator will move the robotic arm in a direction away from the singular, thus achieving singularity avoidance. Simultaneously, this technical solution increases the effective working range of the robotic arm and improves the user experience. Attached Figure Description
[0011] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings.
[0012] Figure 1 A flowchart of a robotic arm control method provided in an embodiment of this application; Figure 2 This is a schematic diagram of a robotic arm's pose state provided in an embodiment of this application; Figure 3 This is a schematic diagram of a force adjustment scenario in the robotic arm control method provided in the embodiments of this application. Figure 4 This is a schematic diagram of the structure of the robotic arm control device provided in the embodiments of this application; Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0013] To enable those skilled in the art to better understand the technical solutions in the embodiments of this application, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art should fall within the protection scope of the embodiments of this application.
[0014] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. The singular forms “a,” “the,” and “the” used in the embodiments of this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise.
[0015] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0016] It should also be noted that the terms "first, second, and third" used in the embodiments of this application are only used to distinguish similar objects and do not represent a specific order of objects. It is understood that "first, second, and third" can be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
[0017] Furthermore, in the embodiments of this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this document generally indicates that the preceding and following related objects have an "or" relationship.
[0018] To facilitate understanding of the technical solutions of the embodiments of this application, the relevant technologies of the embodiments of this application are described below. The following relevant technologies are optional solutions and can be combined with the technical solutions of the embodiments of this application in any way, and they all fall within the protection scope of the embodiments of this application.
[0019] To avoid singularities during robotic arm control, some technical solutions monitor the angles of specific joints in the robotic arm. When the angle of a specific joint approaches the angle of the joint corresponding to a singular position, it is considered to be approaching a singular position. At this time, the movement of the robotic arm in all directions will be restricted to prevent engineering accidents or mechanical failures from occurring at the singular position.
[0020] However, the above technical solutions have drawbacks. On the one hand, for robotic arms with a large number of joints, such as a 7-axis arm, the corresponding singular condition is usually not a single joint angle, but a complex combination of conditions. For example, the angles of joints 2, 4, and 6 satisfy a specific relationship. In this case, by monitoring the angle of one joint, multiple singular positions may be missed, leading to singularity avoidance failure. On the other hand, after approaching the singular region, the above solutions directly prohibit the movement of the robotic arm, which not only affects the user experience but also reduces the effective working space of the robotic arm.
[0021] Based on the above, embodiments of this application are proposed.
[0022] This application provides a robotic arm control method. This method, during the control of a robotic arm's movement, identifies singular positions based on the robotic arm's operability in various directions, thereby accurately capturing potential singular positions and increasing the reliability of singular position identification. When the robotic arm reaches a singular position, the force controlling its movement in the singular direction is suppressed, while the force controlling its movement in other directions is left untreated. In this way, when the robotic arm is in a singular position, movement in a more singular direction will be more strenuous, while movement in a direction away from the singular will be less strenuous. Based on natural human reaction, the robotic arm will be moved in a direction away from the singular, thus achieving singularity avoidance. Furthermore, the solution provided in this application increases the effective working range of the robotic arm and improves the user experience.
[0023] The specific implementation of the robotic arm control method provided in this application will be described below with reference to the accompanying drawings.
[0024] Figure 1 This is a flowchart illustrating a robotic arm control method provided in an embodiment of this application. Figure 1 As shown, the robotic arm control method provided in this application embodiment may include: 101. Based on the current pose information of each joint of the robotic arm, determine the current operability of the robotic arm in each operating direction.
[0025] Manipulability is a key indicator for measuring the flexibility of a robot's end effector. For any given direction of operation, the manipulability is positively correlated with the robot's motion capability in that direction; the greater the manipulability, the stronger the robot's motion capability in that direction.
[0026] In this embodiment of the application, firstly, the Jacobian matrix corresponding to the current position of the robotic arm can be determined based on the current pose information of each joint of the robotic arm.
[0027] The Jacobian matrix of a robotic arm is a matrix describing the relationship between the joint spatial velocities and Cartesian spatial velocities of the robotic arm. In other words, based on the Jacobian matrix, the movement of the robotic arm's end effector can be determined when the joints move. The Jacobian matrix can be a 6xn matrix, where each row corresponds to a joint of the robotic arm, and each column corresponds to the contribution of a specific joint to the velocity in six operational directions of the robotic arm's end effector. These six operational directions include the velocity directions along the three axes of the Cartesian coordinate system and the angular velocity direction. The Jacobian matrix is related to the current angles of each joint of the robotic arm; when the joint angles change, the Jacobian matrix changes accordingly. Therefore, in this embodiment, the current pose information of each joint of the robotic arm can be collected in real time, and then the corresponding Jacobian matrix of the robotic arm can be determined based on the current pose information of each joint.
[0028] Furthermore, the operability matrix of the robotic arm can be determined based on its current Jacobian matrix. The operability matrix describes the "flexibility" or "efficiency" of the robotic arm's end effector moving in different directions in its current posture. Specifically, the operability matrix can be determined using the following formula:
[0029] in, Represents the operability matrix. Used to represent the Jacobian matrix This represents the transpose of the Jacobian matrix.
[0030] Finally, the operability matrix can be decomposed to obtain the current operability of the robotic arm in each operating direction.
[0031] Specifically, the operability matrix is decomposed into eigenvectors to obtain the corresponding eigenvalues. and eigenvalues Among them, the feature vector It includes 6-dimensional direction vectors, each corresponding to an operational direction of the robotic arm in a Cartesian coordinate system. Eigenvalues The operability matrix can be used to characterize the maneuverability of a robotic arm along various operating directions, i.e., its operability. For a specific operating direction, the larger the corresponding eigenvalue, the easier the robotic arm moves along that direction; conversely, the smaller the eigenvalue, the more strenuous the movement along that direction, or the more singular the operating direction. From a spatial geometry perspective, the eigenvectors of the operability matrix can be considered as the principal axis directions of the ellipsoid formed by the robotic arm's end effector capabilities, and the eigenvalues are related to the lengths of the ellipsoid along each principal axis direction.
[0032] Among them, feature vector The expression can be:
[0033] Eigenvalues The expression can be: .
[0034] To facilitate understanding of the above operability, Figure 2 A schematic diagram of one pose state of the robotic arm is given, such as Figure 2 As shown, in this pose state, when the end effector of the robotic arm continues to move to the right, since no joint can generate the speed that causes it to move to the right, the operability in the rightward operation direction is relatively small; while when the end effector continues to move upward, joints 1 and 2 can both generate the speed that causes it to move upward, so the operability in the upward operation direction is relatively large.
[0035] The above implementation method can accurately capture various singular positions during the movement of the robotic arm, thereby improving the reliability of singular position identification.
[0036] 102. Based on the current operability of the robotic arm in each operating direction, adjust the net external force currently acting on the robotic arm to obtain the adjusted net external force.
[0037] To prevent the robotic arm from entering a singularity zone during control, the net external force acting on it can be adjusted based on its current operability in each operating direction. Specifically, for any operating direction, the lower the operability, the closer it is to a singularity; therefore, the component of the net external force in that direction can be suppressed to a greater extent. Conversely, the higher the operability, the less it is close to a singularity; therefore, the component of the net external force in that direction can be left unsuppressed. From the operator's perspective, control operations towards the singularity zone will be "heavy," with a large external force often resulting in only a small displacement at the end of the robotic arm. Control operations in other directions will be "lighter," with the applied force proportional to the displacement at the end of the robotic arm. Therefore, during operation, the operator can use force feedback to promptly pull the robotic arm out of the singularity zone after it enters, preventing it from entering a deeper singularity zone during movement.
[0038] In this embodiment of the application, firstly, the adjustment coefficient corresponding to the current operability of the robotic arm in each operating direction can be determined based on the current operability of the robotic arm in each operating direction. .
[0039] Adjustment coefficient It can be a weighting coefficient or adjustment coefficient applied to the force. It can be used to adjust the magnitude of the component forces acting on the robotic arm in each operating direction, with adjustment coefficients. It can be a value less than or equal to 1. Adjustment coefficient. Operability Proportional to, operability The larger the value, the higher the corresponding adjustment coefficient. The larger the size, the smaller the suppressive effect on force; operability The smaller the value, the higher the corresponding adjustment coefficient. The smaller the value, the greater the inhibitory effect on the force.
[0040] In one exemplary implementation, for any given operating direction, if the corresponding operability is less than a preset threshold, the adjustment coefficient of the robotic arm in that operating direction is determined to be less than 1. For example, the adjustment coefficient of the robotic arm in that operating direction can be determined based on the ratio of operability to the preset threshold. If the corresponding operability is not less than the preset threshold, the adjustment coefficient of the robotic arm in that operating direction is determined to be equal to 1. Thus, for any given operating direction, if the corresponding operability is less than the given threshold, the adjustment coefficient will be used to suppress the force in that operating direction; and if the corresponding operability is not less than the given threshold, the adjustment coefficient will not suppress the force in that operating direction. From a macroscopic operating perspective, the robotic arm can be dragged normally in a normal operating space, but in unusual positions, dragging in unusual directions will be very difficult, while dragging in other directions will be normal.
[0041] Specifically, the adjustment coefficients for the robotic arm in each operating direction can be determined based on the following formula:
[0042] in, This is a preset threshold for operability.
[0043] Furthermore, the net external force currently acting on the robotic arm can be adjusted by utilizing the adjustment coefficients corresponding to the robotic arm in each operating direction, thus obtaining the adjusted net external force.
[0044] In this embodiment of the application, the adjusted net external force can be calculated according to the following formula:
[0045] in, The net external force currently acting on the robotic arm. The adjusted net external force, This is based on the adjustment coefficient matrix corresponding to the current operation direction of the robotic arm. The constructed adjustment matrix.
[0046] in, It can be described based on the following formula:
[0047] It can be described based on the following formula:
[0048] Where N is the number of degrees of freedom in Cartesian space, and the value of N can be 6, which corresponds to the velocity direction and angular velocity direction of the three coordinate axes of the Cartesian space coordinate system, respectively.
[0049] Specifically, the net external force currently acting on the robotic arm can be decomposed along each operating direction to obtain the component forces of the net external force in each operating direction. Then, using the adjustment coefficients corresponding to the robotic arm's current position in each operating direction, the component forces of the net external force in each operating direction can be adjusted to obtain the adjusted forces in each operating direction. Finally, the adjusted forces in each operating direction can be synthesized to obtain the adjusted net external force.
[0050] To facilitate understanding, the adjustment process of the above-mentioned resultant external force will be explained below with a specific example.
[0051] refer to Figure 3 Assuming the Cartesian coordinate axes are as follows: Figure 3 As shown, the adjustment coefficient K1 in the operation direction corresponding to the x-axis is 0.3, and the adjustment coefficient K2 in the operation direction corresponding to the y-axis is 1. Therefore, the net external force F can be decomposed along the x-axis and y-axis directions to obtain the component force F1 on the x-axis and the component force F2 on the y-axis. Then, the component force F1 can be adjusted using the adjustment coefficient K1, resulting in an adjusted component force F1' equal to 0.3F1. Similarly, the component force F2 can be adjusted using the adjustment coefficient K2, resulting in an adjusted component force F2' equal to F2. Finally, the adjusted component forces F1' and F2' can be synthesized to obtain the adjusted net external force F'. Through the above operations, the component force of the net external force in the x-axis direction can be reduced, thereby suppressing the movement of the robotic arm end effector in the x-axis direction.
[0052] 103. Based on the adjusted net external force, determine the current control parameters for the joints of the robotic arm.
[0053] In this embodiment, the adjusted net external force can first be used as the input to the admittance controller, which acts as a force-to-motion converter. Based on the received force, the admittance controller calculates the corresponding acceleration; then, it integrates the acceleration to obtain the velocity; finally, it integrates the velocity to obtain the target pose that the robotic arm's end effector should achieve based on the adjusted net external force. That is, the admittance controller can calculate the target pose that the adjusted net external force will cause the robotic arm's end effector to reach. Then, based on an inverse kinematics algorithm, the target pose can be converted into control parameters for the robotic arm's joints, such as joint angles, to control the joints and achieve the corresponding displacement of the robotic arm's end effector.
[0054] In the above technical solution, the operability of the robotic arm in each operating direction under the current posture can be determined in real time, and the force on each operating direction can be adjusted based on the operability. Then, the control parameters of each joint of the robotic arm can be determined based on the adjusted force.
[0055] Through the above technical solution, on the one hand, all possible singular positions of the robotic arm can be accurately detected based on operability; on the other hand, force suppression in singular directions can be achieved through force adjustment based on operability, thereby increasing the difficulty of dragging the robotic arm in singular directions. Furthermore, the greater the singularity, the greater the dragging difficulty, thus preventing the robotic arm from continuously moving along singular directions during operation. Based on the technical solution provided in this application embodiment, reliable singularity avoidance can be achieved in scenarios where robotic arm movement is controlled, improving the safety of the operated object and the robotic arm hardware itself during operation.
[0056] In real-world scenarios, the acceleration caused by force changes gradually. Therefore, the admittance controller exhibits hysteresis. In scenarios where the control parameters corresponding to the adjusted net external force are obtained based on the admittance controller, and the key aspects of the robotic arm are controlled using these control parameters, the final pose of the robotic arm may exceed the target pose calculated by the admittance controller, causing the robotic arm to enter a deeper singular region.
[0057] To prevent the above situation from occurring, in the embodiments of this application, in step 103 above, the movement of the robotic arm can also be restricted in the speed domain to control the robotic arm to stop in time after reaching the target pose.
[0058] Specifically, in this embodiment of the application, step 103 can be implemented as follows: First, the adjusted net external force is used as the input to the admittance controller to obtain the target motion speed of the robotic arm based on the adjusted net external force. Specifically, the admittance controller can calculate the corresponding acceleration based on the received force; then, the acceleration is integrated to obtain the target motion speed, which is the motion speed generated by the end effector of the robotic arm based on the adjusted net external force.
[0059] Furthermore, the target motion speed can be adjusted by using the adjustment coefficients corresponding to the current operation direction of the robotic arm in each operation direction, so as to obtain the adjusted target motion speed.
[0060] Specifically, the adjusted target velocity can be calculated using the following formula:
[0061] in, Indicates the target's speed. This indicates the adjusted target speed.
[0062] In this embodiment, the target motion speed can be directly adjusted using the corresponding adjustment coefficients in each operating direction to suppress the velocity component in the direction with lower operability, while leaving the velocity component in the direction with higher operability unprocessed, thus obtaining the adjusted target motion speed. Compared to the target motion speed, the adjusted target motion speed can reduce the velocity component in the singular direction, thereby weakening the movement of the robotic arm end effector along the singular direction.
[0063] Finally, the control parameters for the robotic arm's joints can be determined based on the adjusted target motion speed. Specifically, in this embodiment, the inverse kinematics of the adjusted target motion speed can be calculated based on the Jacobian inverse matrix to obtain the current control parameters for the robotic arm's joints, such as joint angles and joint angular velocities.
[0064] For example, the joint velocities of the robotic arm can be calculated using the following formula:
[0065] Where J(q) is the Jacobian matrix, This refers to the joint velocity.
[0066] Therefore, the joint angle can be calculated using the following formula:
[0067] in This indicates the joint angle at the previous moment. This indicates the joint angle at the current moment. Indicates the control cycle.
[0068] In the above implementation, the output of the admittance controller is no longer the target pose, but the target velocity. Therefore, the target velocity can be directly adjusted using the adjustment coefficients corresponding to each operating direction. This technical solution directly limits the robot arm's velocity in singular directions, thereby preventing the robot arm from further sinking into singular regions due to inertia.
[0069] Furthermore, in the process of determining the current control parameters of the robotic arm joints based on the adjusted target motion speed, when performing inverse kinematics calculation on the adjusted target motion speed based on the Jacobian inverse matrix, the inverse solution may fail at singular positions, or an infinite joint speed may be obtained.
[0070] To address the above situation and further enhance the stability of the control system, in this embodiment, the step of determining the current control parameters of the robotic arm joints based on the adjusted target motion speed can be implemented as follows: First, obtain the Jacobian matrix corresponding to the current robotic arm.
[0071] Then, based on the damped least squares method, the pseudo-inverse matrix of the Jacobian matrix corresponding to the current robotic arm is determined. In this embodiment, the value of the damping factor can, for example, change dynamically with the pose of the robotic arm. For example, in non-singular regions, the damping factor can be a value close to 0. In this case, the process of solving the pseudo-inverse matrix of the Jacobian matrix based on the damped least squares method is equivalent to directly solving the pseudo-inverse matrix of the Jacobian matrix. In singular regions, the damping factor can, for example, increase dynamically. Thus, it can prevent inverse solution failure in singular regions and ensure the accuracy of inverse solution in non-singular regions.
[0072] Finally, using a pseudo-inverse matrix, the adjusted target motion speed is converted into the current control parameters for the robotic arm's joints.
[0073] By implementing the above method, the control parameters of the robotic arm's joints can be limited to a safe range of physical values, thereby further preventing the robotic arm's joints from overspeeding in unusual regions.
[0074] This application also provides a robotic arm control device, such as... Figure 4 As shown, the robotic arm control device may include a determination module 401, a first execution module 402, and a second execution module 403.
[0075] The determining module 401 is used to determine the operability of the robotic arm in each operating direction based on the current pose information of each joint of the robotic arm.
[0076] The first execution module 402 is used to adjust the net external force currently applied to the robotic arm based on the current operability of the robotic arm in each operating direction, so as to obtain the adjusted net external force.
[0077] The second execution module 403 is used to determine the current control parameters of the robotic arm joints based on the adjusted net external force.
[0078] In one specific implementation, the first execution module 402 is specifically used to determine the adjustment coefficient corresponding to the current operation direction of the robotic arm based on the current operability of the robotic arm in each operation direction; and to adjust the net external force currently acting on the robotic arm using the adjustment coefficient corresponding to the current operation direction of the robotic arm, so as to obtain the adjusted net external force.
[0079] In one specific implementation, the first execution module 402 is specifically used to determine that, for any operation direction, when the corresponding operability is less than a preset threshold, the adjustment coefficient of the robotic arm in any operation direction is less than 1; and when the corresponding operability is not less than the preset threshold, the adjustment coefficient of the robotic arm in any operation direction is equal to 1.
[0080] In one specific implementation, the first execution module 402 is specifically used to determine the adjustment coefficient of the robotic arm in any operation direction when the corresponding operability is less than a preset threshold, based on the ratio of operability to the preset threshold.
[0081] In one specific implementation, the second execution module 403 is specifically used to: use the adjusted net external force as the input of the admittance controller to obtain the target motion speed of the robotic arm based on the adjusted net external force; use the adjustment coefficients corresponding to the current operation directions of the robotic arm to adjust the target motion speed to obtain the adjusted target motion speed; and determine the current control parameters of the joints of the robotic arm based on the adjusted target motion speed.
[0082] In one specific implementation, the second execution module 403 is specifically used to: obtain the Jacobian matrix currently corresponding to the robotic arm; determine the pseudo-inverse matrix of the Jacobian matrix currently corresponding to the robotic arm based on the damped least squares method; and use the pseudo-inverse matrix to convert the adjusted target motion speed into the current control parameters of the joints of the robotic arm; the control parameters include joint angles.
[0083] In one specific implementation, the determining module 401 is specifically used to: determine the Jacobian matrix corresponding to the current position of each joint of the robotic arm based on the current pose information of each joint of the robotic arm; determine the operability matrix corresponding to the current position of the robotic arm based on the Jacobian matrix corresponding to the current position of the robotic arm; and perform feature decomposition on the operability matrix to obtain the operability of the robotic arm in each operating direction.
[0084] The specific implementation process of the robotic arm control method executed by the above-mentioned device has been described in detail in the foregoing embodiments, and will not be repeated here.
[0085] Figure 5 A schematic diagram of an electronic device according to an embodiment of this application is shown. The electronic device can be used to execute the robotic arm control method provided in the embodiment of this application. The specific implementation of the electronic device is not limited by the specific embodiments of this application.
[0086] like Figure 5 As shown, the electronic device may include: a processor 502, a communications interface 504, a memory 506, and a communications bus 508.
[0087] The processor 502, communication interface 504, and memory 506 communicate with each other via communication bus 508. Communication interface 504 is used to communicate with other electronic devices or servers. The processor 502 executes program 510, specifically performing the relevant steps in the above-described robotic arm control method embodiment.
[0088] Specifically, program 510 may include program code that includes computer operation instructions.
[0089] Processor 502 may be a CPU, an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application. The smart device includes one or more processors, which may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs.
[0090] Memory 506 is used to store program 510. Memory 506 may include high-speed RAM or non-volatile memory. volatile memory), such as at least one disk storage.
[0091] Specifically, program 510 can be used to cause processor 502 to perform the following operations: In an optional embodiment, program 510 is further used to cause processor 502 to perform each step in program 510. The specific implementation of each step in program 510 can be found in the corresponding steps and system descriptions in the above-described robotic arm control method embodiments, and will not be repeated here. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the devices and modules described above can be referred to the corresponding process descriptions in the foregoing method embodiments, and will not be repeated here.
[0092] This application also provides a computer program product, including computer instructions that instruct a computing device to perform an operation corresponding to any of the robotic arm control methods in the above-described plurality of method embodiments. It should be noted that, depending on implementation needs, the various components / steps described in the embodiments of this application can be broken down into more components / steps, or two or more components / steps or parts of the operations of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of this application.
[0093] This application also provides a computer-readable storage medium in which the methods described in this application can be implemented in hardware, firmware, or as software or computer code that can be stored in a recording medium (such as CD-ROM, RAM, floppy disk, hard disk, or magneto-optical disk), or as computer code downloaded over a network that is originally stored in a remote recording medium or a non-transitory machine-readable medium and will be stored in a local recording medium. Thus, the methods described herein can be processed by software stored on a recording medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware (such as ASIC or FPGA). It is understood that the computer, processor, microprocessor controller, or programmable hardware includes storage components (e.g., RAM, ROM, flash memory, etc.) capable of storing or receiving software or computer code that, when accessed and executed by the computer, processor, or hardware, implements the robotic arm control method described herein. Furthermore, when a general-purpose computer accesses the code used to implement the robotic arm control method shown herein, the execution of the code transforms the general-purpose computer into a dedicated computer for executing the robotic arm control method shown herein.
[0094] Those skilled in the art will recognize that the units and method steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this application.
[0095] It should be noted that, in this application, 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 one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0096] Furthermore, it should be noted that the user-related information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to sample data used for training the model, data used for analysis, stored data, displayed data, etc.) involved in the embodiments of this application are all information and data authorized by the user or fully authorized by all parties. Moreover, the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0097] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0098] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0099] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0100] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method or device embodiments.
[0101] The above embodiments are only used to illustrate the embodiments of this application, and are not intended to limit the embodiments of this application. Those skilled in the art can make various changes and modifications without departing from the spirit and scope of the embodiments of this application. Therefore, all equivalent technical solutions also fall within the scope of the embodiments of this application, and the patent protection scope of the embodiments of this application should be defined by the claims.
Claims
1. A robotic arm control method, characterized in that, include: Based on the current pose information of each joint of the robotic arm, the operability of the robotic arm in each operating direction is determined. The operability is positively correlated with motor ability; Based on the current operability of the robotic arm in each operating direction, the net external force currently acting on the robotic arm is adjusted to obtain the adjusted net external force. Based on the adjusted net external force, the current control parameters for the joints of the robotic arm are determined.
2. The method according to claim 1, characterized in that, Based on the current operability of the robotic arm in each operating direction, the net external force currently acting on the robotic arm is adjusted to obtain the adjusted net external force, including: Based on the current operability of the robotic arm in each operating direction, determine the adjustment coefficient corresponding to the current operating direction of the robotic arm in each operating direction; By using the adjustment coefficients corresponding to the current operation directions of the robotic arm, the net external force currently acting on the robotic arm is adjusted to obtain the adjusted net external force.
3. The method according to claim 2, characterized in that, Based on the current degree of operation of the robotic arm in each operating direction, determine the adjustment coefficient corresponding to the current operation direction of the robotic arm in each operating direction, including: For any operating direction, if the corresponding operability is less than a preset threshold, the adjustment coefficient of the robotic arm in that operating direction is determined to be less than 1; if the corresponding operability is not less than the preset threshold, the adjustment coefficient of the robotic arm in that operating direction is determined to be equal to 1.
4. The method according to claim 3, characterized in that, For any given operating direction, if the corresponding operability is less than a preset threshold, it is determined that the adjustment coefficient of the robotic arm in that given operating direction is less than 1, including: For any operating direction, if the corresponding operability is less than a preset threshold, the adjustment coefficient of the robotic arm in that operating direction is determined based on the ratio of the operability to the preset threshold.
5. The method according to claim 2, characterized in that, Based on the adjusted net external force, determine the current control parameters for the joints of the robotic arm, including: The adjusted net external force is used as the input to the admittance controller to obtain the target motion speed of the robotic arm based on the adjusted net external force; The target motion speed is adjusted by using the adjustment coefficients corresponding to the current operation direction of the robotic arm in each operation direction, so as to obtain the adjusted target motion speed; Based on the adjusted target motion speed, the current control parameters for the joints of the robotic arm are determined.
6. The method according to claim 5, characterized in that, Based on the adjusted target motion speed, the current control parameters for the joints of the robotic arm are determined, including: Obtain the Jacobian matrix corresponding to the robotic arm at present; Based on the damped least squares method, the pseudo-inverse matrix of the Jacobian matrix corresponding to the robotic arm is determined. Using the pseudo-inverse matrix, the adjusted target motion speed is converted into current control parameters for the joints of the robotic arm; the control parameters include joint angles.
7. The method according to claim 1, characterized in that, Based on the current pose information of each joint of the robotic arm, the operability of the robotic arm in each operating direction is determined, including: Based on the current pose information of each joint of the robotic arm, determine the Jacobian matrix corresponding to the robotic arm at present; Based on the Jacobian matrix corresponding to the robotic arm, determine the operability matrix corresponding to the robotic arm. The operability matrix is subjected to eigenvalue decomposition to obtain the current operability of the robotic arm in each operating direction.
8. A robotic arm control device, characterized in that, include: The determination module is used to determine the operability of the robotic arm in each operating direction based on the current pose information of each joint of the robotic arm. The first execution module is used to adjust the net external force currently applied to the robotic arm based on the current operability of the robotic arm in each operating direction, so as to obtain the adjusted net external force. The second execution module is used to determine the current control parameters of the joints of the robotic arm based on the adjusted net external force.
9. An electronic device, characterized in that, include: The processor, memory, communication interface, and communication bus are provided, wherein the processor, memory, and communication interface communicate with each other via the communication bus. The memory is used to store at least one executable instruction that causes the processor to perform the method as described in any one of claims 1-7.
10. A computer storage medium, characterized in that, The computer storage medium stores at least one piece of program code, which is loaded and executed by a processor to implement the method as described in any one of claims 1-7.