A mechanical arm control method, system and storage medium
By acquiring the steady-state error of the robotic arm joints and making dynamic adjustments, the problem of robotic arm vibration was solved, achieving higher motion safety and accuracy.
Patent Information
- Application Number
- CN202311642253.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-01
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2043-12-01
AI Technical Summary
When robotic arm joints execute motion commands, steady-state errors occur, leading to vibration and affecting motion safety and accuracy.
By acquiring the steady-state error of the robotic arm joint when it is stationary, it is determined whether the error exceeds the maximum error threshold. If it does, the target position is adjusted within a preset time period after the joint starts moving, and compensation is made by combining the steady-state error and fixed variables. If the error is less than the target position, the actual position is kept as the target position, and the movement of the robotic arm is controlled.
It effectively reduces robotic arm tremors, improves motion safety and accuracy, and enhances flexibility to adapt to different situations.
Smart Images

Figure CN117656092B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of mechanical control, in particular to a mechanical arm control method, system and storage medium. BACKGROUND
[0002] At present, surgical robots are usually used to replace traditional surgeries, greatly improving the accuracy and safety of surgeries. For example, minimally invasive surgeries are performed by using a laparoscopic surgery robot. The laparoscopic surgery robot mainly comprises a console, a surgery platform and an image trolley. During operation, the console and the surgery platform establish a master-slave relationship. The master encoder of the console collects the target pose of the mechanical arm of the surgery platform, and then the control program performs inverse solution operation for motion planning, and then sends the motion instructions of each joint to the mechanical arm of the surgery platform.
[0003] In the prior art, since the steady-state error of the joint control of the mechanical arm is difficult to completely eliminate, the mechanical arm is more likely to have a slight jitter phenomenon when executing the motion instructions. If the hardware steady-state error is too large, the mechanical arm will jitter, affecting the motion safety and accuracy of the entire surgical robot. SUMMARY
[0004] The technical problem solved by the present application is to improve the motion safety and accuracy of the mechanical arm.
[0005] The present application provides a mechanical arm control method applied to control the joint of a mechanical arm to move within a target time length, the target time length comprising a plurality of motion cycles, the mechanical arm control method comprising:
[0006] acquiring the steady-state error of the joint of the mechanical arm at rest;
[0007] determining whether the steady-state error is greater than a maximum error threshold;
[0008] if not, taking the actual position of the joint at rest as the self-target position of the joint at rest, and obtaining the fixed variable of the joint in each motion cycle according to the final target position of the joint and the self-target position of the joint;
[0009] controlling the movement of the mechanical arm according to the fixed variable of the joint;
[0010] if yes, adjusting the target position of the joint within a preset time period after starting to move according to the steady-state error and the fixed variable of the joint in each motion cycle;
[0011] controlling the movement of the mechanical arm according to the target position of the joint within the preset time period and the fixed variable of the joint in each motion cycle.
[0012] Optionally, the acquiring the steady-state error of the joint of the robot arm when the joint is static comprises:
[0013] acquiring the actual position of the joint of the robot arm when the joint is static and the self-target position of the joint of the robot arm when the joint is static;
[0014] taking the difference between the actual position and the self-target position as the steady-state error of the joint of the robot arm when the joint is static.
[0015] Optionally, the obtaining the fixed variable of the joint in each motion cycle according to the final target position of the joint and the self-target position of the joint comprises:
[0016] obtaining a total position variable of the joint according to the final target position of the joint and the self-target position of the joint;
[0017] averaging the total position variable according to all the motion cycles to obtain the fixed variable of each motion cycle.
[0018] Optionally, the preset time period comprises a plurality of the motion cycles.
[0019] the adjusting the target position of the joint in a preset time period after the joint starts moving according to the steady-state error and the fixed variable of the joint in each motion cycle comprises:
[0020] obtaining a steady-state error component of the joint in each motion cycle of the preset time period according to the steady-state error and the instruction cycle of the joint;
[0021] obtaining the target position of the joint in the preset time period after the joint starts moving according to the steady-state error component of the joint in each motion cycle of the preset time period, the cycle start position of the joint in each motion cycle and the fixed variable.
[0022] Optionally, the obtaining a steady-state error component of the joint in each motion cycle of the preset time period according to the steady-state error and the instruction cycle of the joint comprises:
[0023] obtaining the steady-state error component of the joint in each motion cycle of the preset time period according to the steady-state error and the instruction cycle of the joint through a steady-state error component calculation formula;
[0024] the steady-state error component calculation formula is:
[0025]
[0026] wherein, δ n is the steady-state error component, n is the instruction period of the joint, and δ is the steady-state error.
[0027] Optionally, the target position of the joint in the preset time period after starting movement is obtained according to the steady-state error component of the joint in each movement period in the preset time period, the period start position of the joint in each movement period, and the fixed variable, including:
[0028] The target position of the joint in each movement period in the preset time period is obtained according to the steady-state error component, the period start position, and the fixed variable through a target position adjustment formula.
[0029] The target position adjustment formula is: Tar t+1 = Tar t + δ n + Δtar.
[0030] wherein, Tar t+1 is the target position of the movement period, Tar t is the period start position of the movement period, the Δtar is the fixed variable, and δ n is the steady-state error component.
[0031] Optionally, the movement of the robot arm is controlled according to the target position of the joint in the preset time period and the fixed variable of the joint in each movement period, including:
[0032] The movement of the robot arm in the movement period of the preset time period is controlled according to the target position of the joint in the preset time period.
[0033] The movement of the robot arm in the movement period other than the movement period of the preset time period is controlled according to the fixed variable of the joint in each movement period.
[0034] Optionally, the movement of the robot arm is controlled according to the fixed variable of the joint, including:
[0035] The target position of the joint in each movement period in the target time length is obtained according to the fixed variable of the joint.
[0036] The movement of the robot arm in the target time length is controlled according to the target position of each movement period.
[0037] The present invention also provides a robotic arm control system for controlling the joints of a robotic arm to move within a target duration, wherein the target duration includes multiple movement cycles, and the robotic arm control system includes:
[0038] An error calculation unit is used to obtain the steady-state error of the joint of the robotic arm when it is stationary;
[0039] The judgment unit is used to determine whether the steady-state error is greater than the maximum error threshold;
[0040] The control unit is configured to, if not, take the actual position of the joint when it is at rest as the target position of the joint when it is at rest, and obtain the fixed variable of the joint in each motion cycle based on the final target position of the joint and the target position of the joint.
[0041] The movement of the robotic arm is controlled according to the fixed variables of the joint;
[0042] If so, then based on the steady-state error and the fixed variable of the joint in each of the movement cycles, the target position of the joint within a preset time period after the start of movement is adjusted;
[0043] The movement of the robotic arm is controlled based on the target position of the joint within the preset time period and the fixed variable of the joint in each movement cycle.
[0044] The present invention also provides a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the robotic arm control method described above is implemented.
[0045] The robotic arm control method, system, and storage medium of this invention determine the steady-state error of the joint in a static state. When the steady-state error is greater than or equal to a maximum error threshold, it needs to be incorporated into the joint control. This involves adjusting the target position of the joint within a preset time period after the start of movement, based on the steady-state error and the fixed variables of the joint in each motion cycle. This ensures that the joint subsequently moves according to the target position while compensating for the joint motion error, thereby reducing the robotic arm's tremors. When the steady-state error is less than the maximum error threshold, the impact of the steady-state error on joint movement does not need to be considered. This invention selects a motion planning scheme based on the magnitude of the steady-state error, effectively avoiding robotic arm tremors, making the joints more flexible during movement, adapting to different situations, reducing the risk of tremors, and improving the safety and accuracy of robotic arm movement. Attached Figure Description
[0046] Figure 1 This is a flowchart illustrating a robotic arm control method in one embodiment of the present invention;
[0047] Figure 2 A joint movement position-time diagram of a mechanical arm in another embodiment of the present application;
[0048] Figure 3 A joint movement position-time diagram of a mechanical arm in another embodiment of the present application;
[0049] Figure 4 A structure diagram of a mechanical arm control system in an embodiment of the present application. DETAILED DESCRIPTION
[0050] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the scope of protection of the present application.
[0051] In combination with Figure 1 The present application provides a mechanical arm control method applied to control joints of a mechanical arm to move within a target time length, the target time length including multiple movement cycles, the mechanical arm control method including:
[0052] Obtaining a steady-state error of the joint of the mechanical arm at rest.
[0053] Specifically, the steady-state error is closely related to the structure and parameter setting of the mechanical arm itself and the form of external action. The steady-state error is easily affected by factors such as sensitivity of elements, zero drift, aging degree, and clearance and friction of various transmission mechanisms, causing the joint of the mechanical arm to appear jitter at start-up. Therefore, the steady-state error of the joint needs to be obtained before the joint moves, i.e., at rest, to determine whether the joint will appear jitter at start-up due to the influence of the steady-state error.
[0054] Determining whether the steady-state error is greater than a maximum error threshold.
[0055] Specifically, when the steady-state error of the joint at rest is obtained, it is determined whether the joint will appear jitter at start-up due to the influence of the steady-state error. Therefore, a maximum error threshold needs to be set, and whether the joint will appear jitter is inferred by determining whether the steady-state error is greater than the maximum error threshold.
[0056] If not, the actual position of the joint at rest is taken as a self-target position of the joint at rest, and a fixed variable of the joint in each movement cycle is obtained according to the final target position of the joint and the self-target position of the joint.
[0057] Specifically, if the steady-state error is less than or equal to the maximum error threshold, it means that the steady-state error will not cause excessive jitter at the start of the joint movement, thereby affecting the control accuracy or safety of the robot arm. In this case, before the joint movement, the actual position in the joint encoder is assigned to the target position of the movement instruction, and then the final target position of the joint and the target position of the movement instruction are used to obtain the fixed variable of the joint in each movement cycle. According to the fixed variable of the joint position in each movement cycle, the joint can complete the entire movement.
[0058] According to the fixed variable of the joint, the movement of the robot arm is controlled.
[0059] Specifically, after obtaining the fixed variable of each joint, the corresponding fixed variable is assigned to the joint in the corresponding movement cycle, and then when the joint completes the entire target duration, the corresponding final target position is reached without affecting the control accuracy and safety.
[0060] If yes, the target position of the joint within a preset time period after the start of the movement is adjusted according to the steady-state error and the fixed variable of the joint in each movement cycle.
[0061] Specifically, if the steady-state error is greater than the maximum error threshold, it means that the movement of the robot arm will be significantly affected, and therefore the steady-state error needs to be compensated in the calculation of the target position of the joint movement cycle to ensure real-time correction of the steady-state error. It is worth mentioning that the preset time period includes multiple movement cycles, and in each movement cycle, the joint moves according to the steady-state error and the fixed variable of the movement cycle.
[0062] According to the target position of the joint within the preset time period and the fixed variable of the joint in each movement cycle, the movement of the robot arm is controlled.
[0063] Specifically, according to the above, the preset time period includes multiple movement cycles, and according to the fixed variable of each movement cycle and the corresponding steady-state error of each movement cycle, the target position of the joint in each movement cycle can be obtained. According to the target position of each movement cycle, the target position within the preset time period is obtained, and the movement of the joint within the target duration is controlled in combination with the fixed variable.
[0064] The mechanical arm control method of the application, by judging the steady-state error of the joint in the static state, when the steady-state error is greater than or equal to the maximum error threshold, the steady-state error needs to be added to the joint control, wherein the target position of the joint in the preset time period after starting to move is adjusted according to the steady-state error and the fixed variable of the joint in each motion cycle, so that the joint moves according to the target position while realizing the compensation of the joint motion error, thereby reducing the phenomenon of mechanical arm shaking. When the steady-state error is less than the maximum error threshold, the influence of the steady-state error on the joint motion is not considered. The motion planning scheme is selected according to the size of the steady-state error, thereby effectively avoiding the shaking phenomenon of the mechanical arm, making the joint more flexible when moving, and adapting to different situations, reducing the risk of shaking, and improving the motion safety and accuracy of the mechanical arm.
[0065] In the embodiment of the application, the steady-state error of the joint of the mechanical arm in the static state is obtained, comprising:
[0066] The actual position of the joint of the mechanical arm in the static state and the self-target position of the joint of the mechanical arm in the static state are obtained.
[0067] The difference between the actual position and the self-target position is taken as the steady-state error of the joint of the mechanical arm in the static state.
[0068] In the embodiment, the joint is in a static state before moving, and the actual position and the self-target position of the joint in the static state are obtained, so that the difference between the self-expected position and the actual position of the joint at this time can be judged. In the preferred embodiment of the application, the difference between the self-expected position and the actual position of the joint at this time is obtained, as shown in the figure, the dashed line represents the self-target position, and the solid line represents the actual position of the joint. The difference between the self-target position and the actual position at t0 is obtained, that is, δ0=Cur(t0)-Tar(t0). Figure 2
[0069] The mechanical arm control method of the application realizes real-time monitoring of the steady-state error by calculating the difference between the self-target position and the actual position of the joint in the static state, which facilitates subsequent compensation operation based on the steady-state error.
[0070] In the embodiment of the application, the fixed variable of the joint in each motion cycle is obtained according to the final target position of the joint and the self-target position of the joint, comprising:
[0071] The total position variable of the joint is obtained according to the final target position of the joint and the self-target position of the joint.
[0072] According to all the motion cycles, the total position variable is averaged to obtain the fixed variable of each motion cycle.
[0073] In the embodiment, the fixed variable of the joint in each motion cycle is obtained according to the final target position of the joint. Since the steady-state error is less than or equal to the maximum error threshold, it is represented that the steady-state error does not affect the joint motion. Therefore, according to the final target position of the joint and the self-target position of the joint when it is at rest, the angle that the joint needs to move can be obtained. Therefore, the joint needs to complete the angle that needs to move within a certain target time. Since the target time includes multiple motion cycles, the angle that needs to move is averaged in each motion cycle to obtain the fixed variable of each cycle. In the preferred embodiment of the application, if the angle that the joint needs to move, i.e., the total position variable, is 10 degrees, and the motion cycle is 2000, the joint needs to move 0.005 degrees in each cycle, wherein 0.005 degrees is the fixed variable.
[0074] The mechanical arm control method of the application divides the total position variable into each motion cycle under the premise that the steady-state error does not affect the joint motion accuracy, i.e., the safety, reduces the complexity of joint control, and also ensures the accuracy of joint motion.
[0075] In the embodiment of the application, the preset time period includes multiple motion cycles.
[0076] The adjusting the target position of the joint within the preset time period after starting motion according to the steady-state error and the fixed variable of the joint in each motion cycle includes:
[0077] According to the steady-state error and the instruction cycle of the joint, the steady-state error component of the joint in each motion cycle of the preset time period is obtained.
[0078] According to the steady-state error component of the joint in each motion cycle within the preset time period, the cycle start position of the joint in each motion cycle, and the fixed variable, the target position of the joint within the preset time period after starting motion is obtained.
[0079] In the embodiment, the joint is controlled according to the target position of the joint within the preset time period after starting motion. Figure 2 As shown in the figure, since the joint jitter usually occurs at a time when the joint starts to move, i.e., from t0 to t1, the motion cycle within the preset time period after the joint starts to move needs to fuse the steady-state error as compensation into the calculation of the target position of the joint within the preset time period, so as to obtain the target position of the joint within the preset time period after starting motion, thereby reducing the jitter and reducing the influence on the accuracy.
[0080] The mechanical arm control method of the application carries out compensation of the control instruction when the steady-state error exceeds the threshold value, thereby effectively avoiding the shaking phenomenon of the mechanical arm, making the system more flexible to adapt to different situations, and reducing the risk of shaking.
[0081] In the embodiment of the application, the steady-state error component of the joint in each movement cycle of the preset time period is obtained according to the steady-state error and the instruction cycle of the joint, and the method comprises the following steps:
[0082] The steady-state error component of the joint in each movement cycle of the preset time period is obtained according to the steady-state error and the instruction cycle of the joint through a steady-state error component calculation formula.
[0083] The steady-state error component calculation formula is:
[0084]
[0085] Wherein, δ n is the steady-state error component, n is the instruction cycle of the joint, and δ is the steady-state error.
[0086] In the embodiment, the steady-state error component of the joint in each movement cycle of the preset time period is obtained according to the steady-state error and the instruction cycle of the joint, wherein the steady-state error is averaged to each instruction according to the instruction cycle of the joint, that is, each time the joint receives an instruction movement, the steady-state error and inverse compensation are used to reduce shaking, so that the steady-state error component in each instruction cycle can be obtained by combining the steady-state error component calculation formula.
[0087] The mechanical arm control method of the application obtains the steady-state error component of the joint in each movement cycle of the preset time period through the steady-state error component calculation formula, thereby effectively avoiding the shaking phenomenon of the mechanical arm.
[0088] In the embodiment of the application, the target position of the joint in the preset time period after starting movement is obtained according to the steady-state error component of the joint in each movement cycle of the preset time period, the cycle start position of the joint in each movement cycle, and the fixed variable, and the method comprises the following steps:
[0089] The target position of the joint in each movement cycle of the preset time period is obtained according to the steady-state error component, the cycle start position, and the fixed variable through a target position adjustment formula.
[0090] The target position adjustment formula is: Tar t+1 = Tar t + δ n + Δtar.
[0091] wherein, Tar t+1 is the target position of the motion cycle, Tar t is the cycle start position of the motion cycle, and the delta n is the steady-state error component.
[0092] In this embodiment, according to the steady-state error component, the cycle start position, and the fixed variable, the target position of the joint in each motion cycle within the preset time period is obtained through the target position adjustment formula, and the target position of the joint in each motion cycle within the preset time period is obtained through the target position adjustment formula. Figure 3 As shown in the figure, the preset time period is from time t0 to time t1, the steady-state error is added to the target position adjustment calculation through the average method respectively from n instruction cycles from time t0 to time t1, that is, the application of delta n in the target position adjustment formula, the target position of the joint within the preset time period after starting motion is obtained through the sum of the steady-state error component, the cycle start position, and the fixed variable, that is, Tar t+1 .
[0093] The mechanical arm control method of the present application calculates the target position based on the steady-state error, reduces the risk of jitter, and improves the safety and accuracy of the mechanical arm motion.
[0094] In the embodiment of the present application, the control of the mechanical arm motion according to the target position of the joint within the preset time period and the fixed variable of the joint in each motion cycle comprises:
[0095] According to the target position of the joint within the preset time period, the mechanical arm is controlled to move in the motion cycle of the preset time period.
[0096] According to the fixed variable of the joint in each motion cycle, the mechanical arm is controlled to move in other motion cycles except the motion cycle of the preset time period.
[0097] In this embodiment, the motion of the mechanical arm within the preset time period is realized according to the target position of the joint in each motion cycle within the preset time period, and when the preset time period is exceeded, the jitter generated by the joint due to the steady-state error will disappear, and the target position of the joint in each motion cycle within the preset time period is obtained through the target position adjustment formula. Figure 3As shown, the time t1 to the time t2 is the movement after the preset time period, at this time, the actual position of the joint and the target position will change synchronously with a relatively stable difference, so that the fixed variable of each movement cycle can be used to complete the movement of the joint. From the time t2 to the time t3, the target position has been reached, but the actual position needs to continue to change for a period of time and then stop moving, after the time t3, the movement of this time is completed, the mechanical arm stops moving, and a stable state is reached, waiting for movement.
[0098] The mechanical arm control method of the application performs steady-state compensation at the shaking time, so that the joint is more flexible to adapt to different situations and reduces the risk of shaking.
[0099] In the embodiment of the application, the control of the movement of the mechanical arm according to the fixed variable of the joint comprises:
[0100] According to the fixed variable of the joint, the target position of the joint in each movement cycle in the target time length is obtained;
[0101] According to the target position of each movement cycle, the movement of the mechanical arm in the target time length is controlled.
[0102] In the embodiment, the target position of the joint in each movement cycle in the target time length is obtained according to the fixed variable of the joint. Since the steady-state error has less influence on the movement of the joint in the preset time period, its influence can be ignored, and the target position of the joint in each movement cycle is directly obtained by averaging the fixed variable, so as to control the movement of the joint.
[0103] The mechanical arm control method of the application selects the motion planning scheme according to the size of the steady-state error, thereby effectively avoiding the shaking phenomenon of the mechanical arm and making the joint movement more flexible.
[0104] In combination Figure 4 As shown, the application further provides a mechanical arm control system 100 applied to control the movement of the joint of the mechanical arm in a target time length, the target time length comprising a plurality of movement cycles, and the mechanical arm control system comprising:
[0105] An error calculation unit 101 is configured to obtain the steady-state error of the joint of the mechanical arm at rest;
[0106] A judgment unit 102 is configured to judge whether the steady-state error is greater than a maximum error threshold value;
[0107] A control unit 103 is configured to, if not, take the actual position of the joint at rest as the self-target position of the joint at rest, and obtain the fixed variable of the joint in each movement cycle according to the final target position of the joint and the self-target position.
[0108] controlling the movement of the robot arm according to the fixed variable of the joint;
[0109] If yes, adjusting a target position of the joint within a preset time period after starting movement according to the steady-state error and the fixed variable of the joint in each movement cycle;
[0110] controlling the movement of the robot arm according to the target position of the joint within the preset time period and the fixed variable of the joint in each movement cycle.
[0111] The robot arm control system provided by the application judges the steady-state error of the joint in a static state, and when the steady-state error is greater than or equal to a maximum error threshold, the steady-state error needs to be added to the control of the joint. The target position of the joint within a preset time period after starting movement is adjusted according to the steady-state error and the fixed variable of the joint in each movement cycle, so that the joint moves according to the target position and the movement error of the joint is compensated, thereby reducing the phenomenon of shaking of the robot arm. When the steady-state error is less than the maximum error threshold, the influence of the steady-state error on the movement of the joint does not need to be considered. The motion planning scheme is selected according to the size of the steady-state error, thereby effectively avoiding the shaking phenomenon of the robot arm, making the joint more flexible when moving, and adapting to different situations, reducing the risk of shaking, and improving the safety and accuracy of the movement of the robot arm.
[0112] The application further provides a computer readable storage medium having a computer program stored thereon, and the computer program is executed by a processor to implement the robot arm control method.
[0113] The computer readable storage medium judges the steady-state error of the joint in a static state, and when the steady-state error is greater than or equal to a maximum error threshold, the steady-state error needs to be added to the control of the joint. The target position of the joint within a preset time period after starting movement is adjusted according to the steady-state error and the fixed variable of the joint in each movement cycle, so that the joint moves according to the target position and the movement error of the joint is compensated, thereby reducing the phenomenon of shaking of the robot arm. When the steady-state error is less than the maximum error threshold, the influence of the steady-state error on the movement of the joint does not need to be considered. The motion planning scheme is selected according to the size of the steady-state error, thereby effectively avoiding the shaking phenomenon of the robot arm, making the joint more flexible when moving, and adapting to different situations, reducing the risk of shaking, and improving the safety and accuracy of the movement of the robot arm.
[0114] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program. The program can be stored in a non-volatile computer readable storage medium, and when the program is executed, the processes of the above-mentioned embodiments of the methods can be included. Any reference to memory, storage, databases, or other media in this application includes non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration but not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0115] It should be noted that the relational terms herein such as "first" and "second" and the like are used solely to distinguish one from another entity or action, without necessarily requiring or implying any such actual relationship or order between such entities or actions. Moreover, the terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element preceded by "comprises a" does not, without more constraints, foreclose the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.
[0116] The above description is merely one specific implementation of the application. Many modifications and variations of the described embodiments can be apparent to those skilled in the art without departing from the spirit or scope of the application. Thus, it is intended that the present application cover the modifications and variations of this application provided they come within the scope of the appended claims and their equivalents.
Claims
1. A robotic arm control method, characterized in that, The robotic arm control method is applied to control the joints of a robotic arm to move within a target duration, wherein the target duration includes multiple movement cycles. Obtain the steady-state error of the joint of the robotic arm when it is at rest; Determine whether the steady-state error is greater than the maximum error threshold; If not, the actual position of the joint when it is at rest is taken as the target position of the joint when it is at rest, and the fixed variable of the joint in each movement cycle is obtained based on the final target position of the joint and the target position of the joint. The movement of the robotic arm is controlled according to the fixed variables of the joint; If so, then based on the steady-state error and the fixed variable of the joint in each of the movement cycles, the target position of the joint within a preset time period after the start of movement is adjusted; The movement of the robotic arm is controlled based on the target position of the joint within the preset time period and the fixed variable of the joint in each movement cycle.
2. The robotic arm control method according to claim 1, characterized in that, The step of obtaining the steady-state error of the joint of the robotic arm when it is at rest includes: Obtain the actual position of the joint of the robotic arm when it is stationary and the target position of the joint of the robotic arm when it is stationary; The difference between the actual position and the target position is taken as the steady-state error of the joint of the robotic arm when it is at rest.
3. The robotic arm control method according to claim 2, characterized in that, The step of obtaining the fixed variables of the joint in each motion cycle based on the final target position of the joint and its own target position includes: The total position variable of the joint is obtained based on the final target position of the joint and the joint's own target position; The total position variable is averaged based on all the said motion cycles to obtain the fixed variable for each of the said motion cycles.
4. The robotic arm control method according to claim 2, characterized in that, The preset time period includes multiple exercise cycles; The step of adjusting the target position of the joint within a preset time period after the start of movement, based on the steady-state error and the fixed variable of the joint in each movement cycle, includes: Based on the steady-state error and the command cycle of the joint, the steady-state error component of the joint in each motion cycle of the preset time period is obtained; Based on the steady-state error component of the joint in each of the motion cycles within the preset time period, the starting position of the joint in each of the motion cycles, and the fixed variable, the target position of the joint within the preset time period after the start of motion is obtained.
5. The robotic arm control method according to claim 4, characterized in that, The step of obtaining the steady-state error component of the joint for each motion cycle within the preset time period based on the steady-state error and the command cycle of the joint includes: Based on the steady-state error and the command cycle of the joint, the steady-state error component of the joint in each motion cycle of the preset time period is obtained by using the steady-state error component calculation formula. The formula for calculating the steady-state error component is: Where, δ n Let n be the steady-state error component, n be the command period of the joint, and δ be the steady-state error.
6. The robotic arm control method according to claim 4, characterized in that, The step of obtaining the target position of the joint within the preset time period after the start of movement, based on the steady-state error component of the joint in each movement cycle within the preset time period, the cycle start position of the joint in each movement cycle, and the fixed variable, includes: Based on the steady-state error component, the cycle start position, and the fixed variable, the target position of the joint in each of the motion cycles within the preset time period is obtained through the target position adjustment formula. The target position adjustment formula is: Tar t+1 =Tar t +δ n +Δtar; Among them, Tar t+1 For the target position of the said motion cycle, Tar t The starting position of the motion cycle is Δtar, which is the fixed variable δ. n Let be the steady-state error component.
7. The robotic arm control method according to claim 4, characterized in that, The step of controlling the movement of the robotic arm based on the target position of the joint within the preset time period and the fixed variable of the joint in each movement cycle includes: Based on the target position of the joint within the preset time period, the robotic arm is controlled to move during the motion cycle within the preset time period; Based on the fixed variables of the joint in each of the motion cycles, the robotic arm is controlled to move in motion cycles other than the motion cycle in the preset time period.
8. The robotic arm control method according to claim 4, characterized in that, The step of controlling the movement of the robotic arm based on the fixed variable of the joint includes: Based on the fixed variables of the joint, the target position of the joint in each of the movement cycles during the target duration is obtained; The robotic arm is controlled to move within the target duration based on the target position for each motion cycle.
9. A robotic arm control system, characterized in that, The robotic arm control system is used to control the joints of a robotic arm to move within a target duration, the target duration including multiple movement cycles. An error calculation unit is used to obtain the steady-state error of the joint of the robotic arm when it is stationary; The judgment unit is used to determine whether the steady-state error is greater than the maximum error threshold; The control unit is configured to, if not, take the actual position of the joint when it is at rest as the target position of the joint when it is at rest, and obtain the fixed variable of the joint in each motion cycle based on the final target position of the joint and the target position of the joint. The movement of the robotic arm is controlled according to the fixed variables of the joint; If so, then based on the steady-state error and the fixed variable of the joint in each of the movement cycles, the target position of the joint within a preset time period after the start of movement is adjusted; The movement of the robotic arm is controlled based on the target position of the joint within the preset time period and the fixed variable of the joint in each movement cycle.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the robotic arm control method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Movement planning method for mechanical arm
CN108621162A
Control system and method for mechanical arm
CN109895121A