Track planning method of mechanical arm, electronic equipment and storage medium
By receiving the position and torque information of the robotic arm motor driver, determining the disturbed torque and adjusting the trajectory, the robotic arm jitter problem is solved, and the cost-effective and adaptable jitter suppression is achieved.
Patent Information
- Application Number
- CN202510488228.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-17
- Publication Date
- 2025-07-01
AI Technical Summary
In the prior art, the problem of end jitter of the industrial robot robot arm is difficult to effectively solve, and the method of increasing the acceleration sensor is high cost and ineffective.
By receiving the position information and torque information of the motor drivers of each joint of the robot arm, the disturbing torque is determined, and the original trajectory is adjusted using the disturbing torque to reduce the jitter at the end of the robot arm.
No additional sensors are required, reducing costs and improving jitter suppression effect, and is highly adaptable and suitable for complex dynamic systems.
Smart Images

Figure CN120228724A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of robotics, and particularly to a method for trajectory planning of a robotic arm, an electronic device, and a storage medium. Background Art
[0002] Due to the resonance formed by the stiffness of the reducer and the rotation frequency of the motor in an industrial robot, the end of the robotic arm shakes.
[0003] Currently, in order to overcome the problem of the end shaking of the robotic arm, the method adopted is to add an acceleration sensor at the end of the robotic arm, and determine the shaking amount of the end of the robotic arm through the data collected by the acceleration sensor, so as to achieve the effect of shaking suppression. However, this method requires an additional acceleration sensor, with a high cost, and additionally introduces the error of the acceleration sensor, resulting in a poor shaking suppression effect. Summary of the Invention
[0004] The present application provides at least a method for trajectory planning of a robotic arm, an electronic device, and a storage medium.
[0005] In a first aspect of the present application, a method for trajectory planning of a robotic arm is provided. The robotic arm includes a number of serially connected joints, and each joint is provided with a motor driver. The trajectory planning method includes: controlling the robotic arm to move according to an original trajectory; receiving the position information and / or torque information obtained by each motor driver during the movement of the robotic arm; determining the disturbing torque of the robotic arm based on the position information and / or torque information; and adjusting the original trajectory using the disturbing torque to obtain a trajectory to be moved by the robotic arm, so as to control the robotic arm to move according to the trajectory to be moved.
[0006] In a second aspect of the present application, an electronic device is provided. The electronic device includes a memory and a processor coupled to each other. The processor is configured to execute program instructions stored in the memory to implement the method for trajectory planning of the robotic arm in the first aspect above.
[0007] In a third aspect of the present application, a computer-readable storage medium is provided, on which program instructions are stored. When the program instructions are executed by a processor, the method for trajectory planning of the robotic arm in the first aspect above is implemented.
[0008] The beneficial effect of the present application is: Different from the prior art, the present application first controls the robotic arm to move according to a set original trajectory, and then receives the position information and torque information feedback by the motor drivers at each joint of the robotic arm to determine the disturbing torque of the robotic arm. If the disturbing torque is large, the shaking at the end of the robotic arm is large. By estimating the disturbing torque, it is convenient to adjust the original trajectory according to the disturbing torque, so as to achieve the effect of reducing the disturbance at the end of the robotic arm.
[0009] It should be understood that the above general description and the following detailed description are merely exemplary and explanatory, rather than limiting the present application. Brief Description of the Drawings
[0010] The drawings herein are incorporated into the specification and constitute a part of this specification. These drawings show embodiments consistent with the present application and, together with the specification, are used to illustrate the technical solutions of the present application.
[0011] Figure 1 is the first flowchart diagram of an embodiment of the trajectory planning method of the robotic arm of the present application;
[0012] Figure 2 is Figure 1 the sub - flowchart diagram of step S13 in
[0013] Figure 3 is the framework diagram of an embodiment of the trajectory planning device of the robotic arm of the present application;
[0014] Figure 4 is the framework diagram of an embodiment of the electronic device of the present application;
[0015] Figure 5 is the framework diagram of an embodiment of the computer - readable storage medium of the present application. Detailed Description of the Embodiments
[0016] The following will describe the solutions of the embodiments of the present application in detail with reference to the drawings in the specification.
[0017] In the following description, specific details such as specific system structures, interfaces, and technologies are presented for the purpose of illustration rather than limitation, so as to thoroughly understand the present application.
[0018] The term "and / or" herein is merely a description of the association relationship between associated objects, indicating that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " herein generally represents an "or" relationship between the associated objects before and after. In addition, "multiple" herein means two or more than two. In addition, the term "at least one" herein represents any one of multiple or any combination of at least two of multiple. For example, including at least one of A, B, and C may represent including any one or more elements selected from the set composed of A, B, and C.
[0019] In this application, the execution subject for implementing the trajectory planning method of the robotic arm described in this application can be a trajectory planning device, an electronic device, etc. For example, the trajectory planning device of the robotic arm can be set in a robot or in an electronic device, a server, or other processing devices that establish a communication connection with the robot. Among them, the electronic device can be a numerical control device, a user equipment (UE), a handheld device, a computing device, a vehicle-mounted device, etc. In some possible implementation manners, the trajectory planning method of the robotic arm can be implemented by a processor calling computer-readable instructions stored in a memory.
[0020] Please refer to Figure 1 , Figure 1 which is the first flowchart of an embodiment of the trajectory planning method of the robotic arm in this application. Specifically, it can include the following steps:
[0021] Step S11: Control the robotic arm to move along the original trajectory.
[0022] In this application, taking the execution subject of the trajectory planning method as a robot as an example, the operation logic is specifically executed by a controller or a processor in the robot. Among them, the robotic arm includes several serially connected joints, and each joint is provided with a motor driver. Several can be one or more. Serial connection can be specifically end-to-end connection. Exemplarily, the robotic arm can include 6 end-to-end connected joints. The original trajectory can include the position information of each motor driver. For example, the position information can include the rotation angle. In some other application scenarios, the position information can also be torque information, etc.
[0023] Step S12: Receive the position information and / or torque information obtained by each motor driver during the movement of the robotic arm.
[0024] The position information can be the position of the motor driver after or during the movement of the robotic arm along the original trajectory. For example, the rotation angle of each motor driver after the robotic arm completes the movement and / or the coordinate position of the motor driver in the coordinate system where the robotic arm is located, etc. In some application scenarios, the encoder in the motor driver can measure the rotation angle and coordinate position of the motor. Exemplarily, the encoder converts the position information of the motor driver into an electrical signal and sends it to the motor driver, and the driver then feeds back this information to the controller or processor of the robot. The torque information can be the input torque or output torque of the motor driver. In some application scenarios, the motor driver is equipped with a torque sensor, or the output torque can be indirectly estimated through parameters such as motor current. The driver can feed back the output torque information to the controller.
[0025] Step S13: Determine the disturbing torque of the robotic arm based on each position information and / or torque information.
[0026] Exemplarily, the corresponding relationship between the position information and / or torque information of each motor driver and the disturbance torque can be preset in advance, or the disturbance torque of the robotic arm can be determined based on the position information and / or torque information through a preset robot kinematic model. In some application scenarios, the position information and / or torque information can be input into a disturbance torque prediction network model, and the output of the disturbance torque prediction network model is the disturbance torque.
[0027] Step S14: Adjust the original trajectory using the disturbance torque to obtain the to-be-moved trajectory of the robotic arm so as to control the robotic arm to move according to the to-be-moved trajectory.
[0028] Exemplarily, the adjustment method of different disturbance torques for the original trajectory can be established in advance. After obtaining the disturbance torque, the adjustment method corresponding to the disturbance torque is searched for, and the corresponding adjustment method is selected to adjust the original trajectory. That is, in some application scenarios, the disturbance torques in different torque intervals can have different adjustment methods, such as adjusting different parameters in the original trajectory, etc. In some application scenarios, different disturbances can also use the same adjustment method to adjust the original trajectory.
[0029] In the above solution, the present application first controls the robotic arm to move according to the set original trajectory, and then receives the position information and torque information fed back by the motor drivers at each joint of the robotic arm to determine the disturbance torque of the robotic arm. If the disturbance torque is large, the jitter at the end of the robotic arm is large. By estimating the disturbance torque, it is convenient to adjust the original trajectory according to the disturbance torque, achieving the effect of reducing the disturbance at the end of the robotic arm.
[0030] In some embodiments, each motor driver is connected to a speed reducer. Please refer to Figure 2 , the above step S13 may include the following steps:
[0031] Step S131: Obtain the reduction ratio of each speed reducer and the stiffness of each speed reducer.
[0032] The reduction ratio of a fixed reduction ratio speed reducer is fixed, while the reduction ratio of a controllable reduction ratio speed reducer can be controlled. If the speed reducers in the robotic arm are fixed reduction ratio speed reducers, the reduction ratio of each speed reducer can be a preset value set in advance. If there are controllable reduction ratio speed reducers among the speed reducers, the reduction ratio of the current controllable reduction ratio speed reducer can be determined according to the control instruction sent to the controllable reduction ratio speed reducer. The stiffness of each speed reducer is generally a fixed value set in advance.
[0033] Step S132: Based on the position information, torque information, and reduction ratio of each speed reducer, determine the predicted torque at the end of the robotic arm.
[0034] In some application scenarios, the predicted torque at the end of the robotic arm can be determined based on the predicted torque model, the position information, the torque information, and the reduction ratios of the reducers. That is, the position information, the torque information, and the reduction ratios of the reducers are used as the inputs of the predicted torque model, and the output of the predicted torque model is the predicted torque.
[0035] In some application scenarios, step S132 above may include the following steps: taking the second derivative of the position information to obtain the acceleration of the motor drivers; obtaining the product of each acceleration and the rotor inertia in the motor drivers; taking the product of the difference between the torque information and the product and the reduction ratio of the reducer as the predicted torque.
[0036] Specifically, the predicted torque τ1 can be determined with reference to the following formula:
[0037]
[0038] where τ1 represents the predicted torque, τ(t) represents the matrix composed of the torque information feedback by the motor drivers, J represents the matrix composed of the rotor inertia in the motor drivers, represents the matrix composed of the acceleration of the motor drivers obtained by taking the second derivative of the position information. r represents the matrix composed of the reduction ratios of the reducers, where the reduction ratios of the reducers can be the same or different. t represents the interpolation period. For example, the original trajectory is P0(t), where t = 1, 2, 3, …, n, etc.
[0039] Step S133: Determine the actual torque at the end of the robotic arm based on the position information, the torque information, the reduction ratios of the reducers, and the stiffness of the reducers.
[0040] The implementation of step S133 can be to use the position information, the torque information, the reduction ratios of the reducers, and the stiffness of the reducers as the inputs of the actual torque prediction network model, and the output of the actual torque prediction network model as the actual torque at the end of the robotic arm.
[0041] In some other embodiments, step S133 may specifically include the following steps:
[0042] First, determine the rotation angles of the reducers based on the position information, the torque information, the reduction ratios, and the stiffnesses.
[0043] In some embodiments, the method for determining the rotation angle of each reducer based on the position information, torque information, each reduction ratio, and each stiffness may include: respectively obtaining the first ratio between each position information and the reduction ratio; obtaining the first product between each torque information and each reduction ratio, and the second ratio between the first product and the stiffness of each reduction ratio; for the rotation angle of each reducer, taking the sum of the first ratio and the second ratio corresponding to the reducer as the rotation angle of the reducer.
[0044] Exemplarily, the method for obtaining the rotation angle q(t) of each reducer may refer to the following formula:
[0045]
[0046] Where q(t) represents the rotation angle of each reducer, for example, it may be a matrix composed of each rotation angle. θ(t) represents each position information, for example, it may be a matrix composed of each position information. r represents the matrix composed of the reduction ratios of each reducer. τ(t) represents the matrix composed of each torque information fed back by the motor driver, K represents the matrix composed of the stiffnesses of each reducer, and the stiffnesses of each reducer may be the same or different.
[0047] Then, taking the rotation angle of each reducer, each position information, and each torque information as the input parameters of the robot dynamics equation, and taking the output parameters of the robot dynamics equation as the actual torque at the end of the robotic arm.
[0048] Exemplarily, the robot dynamics equation may be as follows:
[0049]
[0050] Where M(q(t)) represents the inertia matrix, represents the Coriolis force and centrifugal force matrix, G(q(t)) represents the gravity matrix. τ2 represents the actual torque. · represents taking the derivative, that is represents taking the derivative of q(t).
[0051] Step S134: Taking the difference between the actual torque and the predicted torque as the disturbance torque.
[0052] The disturbance torque may be equal to the above τ2 - τ1.
[0053] Exemplarily, a robot flexible model may be constructed on the above basis as follows:
[0054]
[0055] Here, disturb(t) represents the disturbing torque. τ(t) represents the matrix composed of the torque information feedback by the motor drivers, J represents the matrix composed of the rotor inertia of each motor driver, represents the matrix composed of the accelerations of each motor driver obtained by taking the second derivative of each position information. r represents the matrix composed of the reduction ratios of each reducer, where the reduction ratios of each reducer can be the same or different. t represents the interpolation period. q(t) represents the rotation angles of each reducer, for example, it can be a matrix composed of each rotation angle. θ(t) represents each position information, for example, it can be a matrix composed of each position information.
[0056] In some embodiments, each motor driver is connected to a reducer, and the disturbing torque includes the disturbing torque corresponding to each reducer. Using the disturbing torque to adjust the original trajectory to obtain the trajectory to be moved by the robotic arm so as to control the robotic arm to move according to the trajectory to be moved, includes: obtaining the ratio of each disturbing torque to the stiffness of each reducer as the torsional deformation of each reducer. Then, based on the torsional deformation of each reducer, the original trajectory is adjusted to obtain the trajectory to be moved.
[0057] In some application scenarios, the disturbing torques of different reducers can be the same. In the case where the stiffnesses of each reducer are also the same, the torsional deformations of each reducer can also be the same. In other application scenarios, the disturbing torques of different reducers can be different. In the case where the stiffnesses of each reducer are different, the torsional deformations of each reducer can also be different.
[0058] The above method of adjusting the original trajectory based on the torsional deformation of each reducer to obtain the trajectory to be moved can be: first determine the way to adjust the original trajectory through the torsional deformation of each reducer, and then adjust the original trajectory according to the corresponding way.
[0059] In some embodiments, the original trajectory includes the rotation angles of each motor driver. Adjusting the original trajectory based on the torsional deformation of each reducer to obtain the trajectory to be moved includes: taking the difference between the rotation angles of each motor driver and each torsional deformation as the new rotation angles of each motor driver in the trajectory to be moved.
[0060] Exemplarily, the method for determining the trajectory to be moved can refer to the following formula:
[0061]
[0062] where, P i+1 (t) represents the trajectory to be moved, P0(t) represents the original trajectory, disturb(t) represents the matrix of each torsional deformation, and K represents the matrix composed of each stiffness.
[0063] In some embodiments, the method further includes: in response to the amount of torsional deformation being greater than or equal to a preset amount of torsional deformation, using the difference as the new rotation angle of each motor driver in the to-be-moved trajectory; or, in response to the amount of torsional deformation being less than the preset amount of torsional deformation, using the original trajectory as the to-be-moved trajectory.
[0064] A larger amount of torsional deformation indicates a larger jitter at the end of the robotic arm, while a smaller amount of torsional deformation indicates a smaller jitter of the robotic arm. In the case of a larger amount of torsional deformation, the trajectory can be adjusted, otherwise the robot can be directly controlled to move according to the original trajectory. That is, the movement trajectory of the robotic arm can be continuously adjusted through iterative learning to continuously reduce the jitter at the end of the robotic arm. It obtains the control input that can generate the desired output trajectory by repeatedly applying the information obtained from previous experiments to improve the control quality. Different from traditional control methods, iterative learning control can handle dynamic systems with a relatively high degree of uncertainty in a very simple manner, and only requires less prior knowledge and computational effort, while having strong adaptability and being easy to implement. More importantly, it does not rely on the exact mathematical model of the dynamic system and is an algorithm that iteratively generates an optimal input signal to make the system output as close as possible to the ideal value.
[0065] In the above solution, the feedback torque / position is used to estimate the disturbing torque. When the flexible model of the robot is accurate, the accuracy can be very high; without using an additional sensor to estimate the trajectory error (jitter) of the robot, the cost is reduced and the operation time is saved.
[0066] In addition, after obtaining the disturbing torque, iterative learning can be repeatedly performed to suppress the disturbing torque, which only requires less prior knowledge and computational effort, while having strong adaptability and being easy to implement; more importantly, it does not rely on the exact mathematical model of the dynamic system and is an algorithm that iteratively generates an optimal input signal to make the system output as close as possible to the ideal value. It is effective for those problems with nonlinearity, complexity, difficulty in modeling, and high-precision trajectory control.
[0067] Those skilled in the art can understand that in the above method of the specific implementation manner, the writing order of each step does not mean a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of each step should be determined according to its function and possible internal logic.
[0068] Please refer to Figure 3 , Figure 3It is a schematic framework diagram of an embodiment of the trajectory planning device of the robotic arm in this application. The robotic arm includes a number of serially connected joints, and a motor driver is provided on each joint. The trajectory planning device 30 of the robotic arm includes: a control module 31, an information receiving module 32, a disturbing torque determination module 33, and a trajectory adjustment module 34; wherein, the control module 31 is used to control the robotic arm to move along the original trajectory; the information receiving module 32 is used to receive the position information and / or torque information obtained by each motor driver during the movement of the robotic arm; the disturbing torque determination module 33 is used to determine the disturbing torque of the robotic arm based on the respective position information and / or torque information; the trajectory adjustment module 34 is used to adjust the original trajectory by using the disturbing torque to obtain the trajectory to be moved by the robotic arm so as to control the robotic arm to move along the trajectory to be moved.
[0069] In some embodiments, each motor driver is connected with a reducer. The disturbing torque determination module 33 determines the disturbing torque of the robotic arm based on the respective position information and / or torque information, including: obtaining the reduction ratio of each reducer and the stiffness of each reducer; determining the predicted torque at the end of the robotic arm based on the respective position information, the respective torque information, and the reduction ratio of each reducer; and determining the actual torque at the end of the robotic arm based on the respective position information, the respective torque information, the reduction ratio of each reducer, and the stiffness of each reducer; taking the difference between the actual torque and the predicted torque as the disturbing torque.
[0070] In some embodiments, the disturbing torque determination module 33 determines the actual torque at the end of the robotic arm based on the respective position information, the respective torque information, the reduction ratio of each reducer, and the stiffness of each reducer, including: determining the rotation angle of each reducer based on the respective position information, the respective torque information, the reduction ratio of each reducer, and the stiffness of each reducer; taking the rotation angle of each reducer, the respective position information, and the respective torque information as the input parameters of the robot dynamics equation, and taking the output parameter of the robot dynamics equation as the actual torque at the end of the robotic arm.
[0071] In some embodiments, the disturbing torque determination module 33 determines the rotation angle of each reducer based on the respective position information, the respective torque information, the reduction ratio of each reducer, and the stiffness of each reducer, including: respectively obtaining the first ratio between the respective position information and the reduction ratio; obtaining the first product between the respective torque information and the reduction ratio of each reducer, and the second ratio between the first product and the stiffness of each reducer; for the rotation angle of each reducer, taking the sum of the first ratio and the second ratio corresponding to the reducer as the rotation angle of the reducer.
[0072] In some embodiments, the disturbance torque determination module 33 determines the predicted torque at the end of the robotic arm based on the respective position information, the respective torque information, and the reduction ratios of the respective speed reducers, including: taking the second derivative of the respective position information to obtain the acceleration of the acceleration of each motor driver; obtaining the product of each acceleration and the moment of inertia of the rotor in each motor driver; and taking the product of the difference between the torque information and the product and the reduction ratios of the respective speed reducers as the predicted torque.
[0073] In some embodiments, each motor driver is connected to a speed reducer, and the disturbance torque includes the disturbance torque corresponding to each speed reducer. The trajectory adjustment module 34 adjusts the original trajectory using the disturbance torque to obtain the trajectory to be moved by the robotic arm so as to control the robotic arm to move according to the trajectory to be moved, including: obtaining the ratio of each disturbance torque to the stiffness of each speed reducer as the torsional deformation amount of each speed reducer; and adjusting the original trajectory based on the torsional deformation amounts of the respective speed reducers to obtain the trajectory to be moved.
[0074] In some embodiments, the original trajectory includes the rotation angles of the respective motor drivers. The trajectory adjustment module 34 adjusts the original trajectory based on the torsional deformation amounts of the respective speed reducers to obtain the trajectory to be moved, including: taking the difference between the rotation angles of the respective motor drivers and the respective torsional deformation amounts as the new rotation angles of the respective motor drivers in the trajectory to be moved.
[0075] In some embodiments, the trajectory adjustment module 34 is further configured to: in response to the torsional deformation amount being greater than or equal to a preset torsional deformation amount, take the difference as the new rotation angles of the respective motor drivers in the trajectory to be moved; or, in response to the torsional deformation amount being less than the preset torsional deformation amount, take the original trajectory as the trajectory to be moved.
[0076] Please refer to Figure 4 , Figure 4 which is a schematic framework diagram of an embodiment of the electronic device of the present application. The electronic device 40 includes a memory 41 and a processor 42 that are coupled to each other. The processor 42 is configured to execute program instructions stored in the memory 41 to implement the steps of any of the above-described embodiments of the trajectory planning method for the robotic arm. In a specific implementation scenario, the electronic device 40 may include, but is not limited to: a microcomputer, a server. In addition, the electronic device 40 may also include mobile devices such as a laptop computer, a tablet computer, etc., which are not limited herein.
[0077] Specifically, the processor 42 is used to control itself and the memory 41 to implement the steps of any of the above-described method embodiments for trajectory planning of the robotic arm. The processor 42 may also be referred to as a CPU (Central Processing Unit). The processor 42 may be an integrated circuit chip with the ability to process signals. The processor 42 may also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. Additionally, the processor 42 may be implemented jointly by integrated circuit chips.
[0078] In the above solution, the present application first controls the robotic arm to move along a set original trajectory, and then receives the position information and torque information feedback by the motor drivers at each joint of the robotic arm to determine the disturbing torque of the robotic arm. If the disturbing torque is large, the jitter at the end of the robotic arm is large. By estimating the disturbing torque, it is convenient to adjust the original trajectory according to the disturbing torque, achieving the effect of reducing the disturbance at the end of the robotic arm.
[0079] Please refer to Figure 5 , Figure 5 which is a schematic framework diagram of an embodiment of the computer-readable storage medium of the present application. The computer-readable storage medium 50 stores program instructions 501 that can be run by a processor. The program instructions 501 are used to implement the steps of any of the above-described method embodiments for trajectory planning of the robotic arm.
[0080] In the above solution, the present application first controls the robotic arm to move along a set original trajectory, and then receives the position information and torque information feedback by the motor drivers at each joint of the robotic arm to determine the disturbing torque of the robotic arm. If the disturbing torque is large, the jitter at the end of the robotic arm is large. By estimating the disturbing torque, it is convenient to adjust the original trajectory according to the disturbing torque, achieving the effect of reducing the disturbance at the end of the robotic arm.
[0081] In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the methods described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments. For the sake of brevity, it will not be repeated here.
[0082] The descriptions of the various embodiments above tend to emphasize the differences between the various embodiments. For the similarities or resemblances among them, reference can be made to each other. For the sake of brevity, they will not be elaborated herein again.
[0083] In several embodiments provided in the present application, it should be understood that the disclosed methods and apparatuses can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For example, the division of modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of the apparatuses or units can be in electrical, mechanical or other forms.
[0084] In addition, in each embodiment of the present application, the functional units can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
[0085] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to execute all or part of the steps of the methods in various embodiments of the present application. And the aforementioned storage medium includes: USB flash drives, mobile hard disks, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical discs, etc., which can store program codes.
Claims
1. A trajectory planning method for a robotic arm, characterized in that: The robot arm includes a plurality of joints connected in series, each of which is provided with a motor driver, and the trajectory planning method includes: Controlling the robotic arm to move according to the original trajectory; Receiving position information and / or torque information obtained by each of the motor drivers during the movement of the robotic arm; Determine the disturbance torque of the robot arm based on each of the position information and / or the torque information; The original trajectory is adjusted by using the disturbance torque to obtain the trajectory to be moved of the robot arm so as to control the robot arm to move according to the trajectory to be moved.
2. The method according to claim 1, characterized in that: Each of the motor drivers is connected to a reducer, and the determination of the disturbance torque of the robot arm based on each of the position information and / or torque information includes: Obtaining the reduction ratio of each reducer and the stiffness of each reducer; Determine the predicted torque of the end of the robot arm based on each of the position information, each of the torque information and the reduction ratio of each of the reducers; and determine the actual torque of the end of the robot arm based on each of the position information, each of the torque information, the reduction ratio of each of the reducers and the stiffness of each of the reducers; The difference between the actual torque and the predicted torque is used as the disturbance torque.
3. The method according to claim 2, characterized in that The determining the actual torque of the end of the robot arm based on each of the position information, each of the torque information, the reduction ratio of each of the reducers, and the stiffness of each of the reducers comprises: Determine the rotation angle of each reducer based on each of the position information, each of the torque information, each of the reduction ratios and each of the stiffnesses; The rotation angle of each reducer, each position information and each torque information are used as input parameters of the robot dynamics equation, and the output parameter of the robot dynamics equation is used as the actual torque at the end of the robot arm.
4. The method according to claim 3, characterized in that The determining the rotation angle of each reducer based on each of the position information, each of the torque information, each of the reduction ratios and each of the stiffnesses comprises: Respectively obtaining a first ratio between each piece of the position information and the reduction ratio; Acquire a first product between each of the torque information and each of the reduction ratios, and a second ratio between the first product and the stiffness of each of the reduction ratios; For each rotation angle of the reducer, the sum of the first ratio and the second ratio corresponding to the reducer is taken as the rotation angle of the reducer.
5. The method according to claim 2, characterized in that: The step of determining the predicted torque of the end of the robot arm based on each of the position information, each of the torque information and the reduction ratio of each of the reducers comprises: Performing a second derivative of each of the position information to obtain the acceleration of each of the motor drivers; Obtaining the product of each of the accelerations and the moment of inertia of the rotor in each of the motor drivers; The difference between the torque information and the product and the product of the reduction ratios of the reducers are used as the predicted torque.
6. The method according to any one of claims 1 to 5, characterized in that Each of the motor drivers is connected to a reducer, the disturbance torque includes the disturbance torque corresponding to each of the reducers, and the original trajectory is adjusted by using the disturbance torque to obtain the trajectory to be moved of the robot arm so as to control the robot arm to move according to the trajectory to be moved, including: Obtaining the ratio between each of the disturbance torques and the stiffness of each of the reducers as the torsional deformation of each of the reducers; Based on the torsional deformation of each of the reducers, the original trajectory is adjusted to obtain the trajectory to be moved.
7. The method according to claim 6, characterized in that The original trajectory includes the rotation angle of each of the motor drivers, and the original trajectory is adjusted based on the torsional deformation of each of the reducers to obtain the trajectory to be moved, including: The difference between the rotation angle of each motor driver and each torsional deformation amount is used as a new rotation angle of each motor driver in the trajectory to be moved.
8. The method according to claim 6, characterized in that The method further comprises: In response to the torsional deformation being greater than or equal to a preset torsional deformation, taking the difference as a new rotation angle of each of the motor drivers in the trajectory to be moved; Or, in response to the torsional deformation amount being less than a preset torsional deformation amount, the original trajectory is used as the trajectory to be moved.
9. An electronic device, characterized in that: It comprises a memory and a processor coupled to each other, wherein the processor is used to execute program instructions stored in the memory to implement the trajectory planning method of the robot arm as described in any one of claims 1 to 8.
10. A computer-readable storage medium having program instructions stored thereon, characterized in that: When the program instructions are executed by the processor, the trajectory planning method of the robotic arm described in any one of claims 1 to 8 is implemented.