Robot control method
By calculating the acceleration threshold of the robot and the output force safety threshold of the driver, the acceleration of the robot is reasonably controlled, which solves the problems of full-load operation and inertial wear of the servo motor, and improves the service life and production efficiency of the robot.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GUANGDONG LYRIC ROBOT INTELLIGENT AUTOMATION CO LTD
- Filing Date
- 2023-04-29
- Publication Date
- 2026-05-12
AI Technical Summary
In existing technologies, improper acceleration settings of robotic arms can lead to servo motors operating at full load or excessive inertial forces, affecting the lifespan and production efficiency of the robotic arms.
By acquiring the load status, basic parameter information, and motion data of the robotic arm, several sets of acceleration thresholds are calculated to determine the acceleration control threshold and the safe output force threshold of the actuator, thereby reasonably controlling the acceleration of the robotic arm.
This avoids the servo motor from operating at full load or experiencing inertial wear due to excessively large or small acceleration settings, thus improving the service life and production efficiency of the robotic arm.
Smart Images

Figure CN116604551B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of this application relate to, but are not limited to, the field of robotic arms, and particularly to robotic arm control methods. Background Technology
[0002] In mechanized production processes in factories, robotic arms are typically used to grip workpieces and move them along the production line for transport. This transport process mainly consists of three stages: acceleration, constant speed, and deceleration; finally, the robotic arm stops at the destination point. These three stages are repeated to transport the workpiece to multiple destination points for various processing steps.
[0003] When setting the acceleration of the robotic arm, if the acceleration is set too high, the servo motor that drives the robotic arm to move will operate at full load. Excessive acceleration will also cause the robotic arm to experience a large inertial force during deceleration, resulting in wear and tear on the robotic arm and thus shortening its service life. If the acceleration is set too low, the servo motor will not operate at full capacity, resulting in low efficiency. Summary of the Invention
[0004] The following is an overview of the subject matter described in detail herein. This overview is not intended to limit the scope of the claims.
[0005] The purpose of this application is to at least partially solve one of the technical problems existing in the related art. The embodiments of this application provide a robotic arm control method that can reasonably control the acceleration of the robotic arm.
[0006] An embodiment of this application provides a robotic arm control method, comprising:
[0007] Based on the load state of the robotic arm, obtain several sets of acceleration thresholds;
[0008] The acceleration control threshold is determined based on the aforementioned set of acceleration thresholds;
[0009] Based on the acceleration control threshold and the mass of the load, the safe threshold for the output force of the manipulator's actuator is determined.
[0010] In some embodiments of this application, obtaining several acceleration thresholds based on the load state of the robotic arm includes:
[0011] The basic parameter information of the robot and the load is obtained based on the load state of the robot.
[0012] The maximum acceleration of the robotic arm is obtained based on the basic parameter information of the robotic arm and the load.
[0013] The minimum acceleration of the robotic arm is obtained based on its motion data;
[0014] The acceleration change rate threshold of the robot arm is obtained based on the state data of the driver and the motion data of the robot arm;
[0015] The acceleration threshold of the robotic arm is obtained based on the maximum acceleration, the minimum acceleration, the acceleration change rate threshold, and the motion time in the motion data.
[0016] In some embodiments of this application, the basic parameter information of the manipulator and the load includes the mass of the load, the mass of the manipulator, and the inertial torque of the manipulator; obtaining the maximum acceleration of the manipulator based on the basic parameter information of the manipulator and the load includes:
[0017] The maximum acceleration of the robot arm is obtained based on the mass of the load, the mass of the robot arm, and the inertial torque of the robot arm.
[0018] In some embodiments of this application, obtaining the minimum acceleration of the manipulator based on the motion data of the manipulator includes:
[0019] The motion data of the robotic arm is obtained based on the configuration information of the production line where the robotic arm is located.
[0020] The minimum acceleration of the robotic arm is obtained based on the motion distance and motion time in the motion data.
[0021] In some embodiments of this application, obtaining the acceleration change rate threshold of the manipulator based on the state data of the actuator and the motion data of the manipulator includes:
[0022] When the status data of the driver indicates that the driver is in a normal load state, the minimum rate of change of acceleration of the manipulator is obtained based on the seven-stage motion stroke and the motion time corresponding to the seven-stage motion stroke in the motion data.
[0023] When the status data of the driver indicates that the driver is in a full-load state, the maximum rate of change of acceleration of the manipulator is obtained based on the four-stage motion stroke and the corresponding motion time in the motion data.
[0024] The seven-stage motion process includes a first acceleration phase, a first constant acceleration phase, a first deceleration phase, a uniform motion phase, a second deceleration phase, a second constant acceleration phase, and a second acceleration phase.
[0025] The four-stage motion process includes a first acceleration phase, a first deceleration phase, a second deceleration phase, and a second acceleration phase.
[0026] In some embodiments of this application, the first motion time corresponding to the first acceleration phase, the third motion time corresponding to the first deceleration phase, the fifth motion time corresponding to the second deceleration phase, and the seventh motion time corresponding to the second acceleration phase are equal; the second motion time corresponding to the first constant acceleration phase and the sixth motion time corresponding to the second constant acceleration phase are equal.
[0027] In some embodiments of this application, when the status data of the driver indicates that the driver is in a normal load state, the fourth motion time corresponding to the uniform motion phase is obtained based on the rotational speed of the driver and the lead of the robot screw.
[0028] In certain embodiments of this application, obtaining the acceleration threshold of the robotic arm based on the maximum acceleration, the minimum acceleration, the acceleration change rate threshold, and the motion time in the motion data includes:
[0029] The first acceleration range is obtained based on the minimum acceleration and the maximum acceleration;
[0030] The second acceleration interval is obtained based on the acceleration rate of change threshold and the motion time in the motion data;
[0031] The acceleration threshold of the robotic arm is obtained from the intersection of the first acceleration interval and the second acceleration interval.
[0032] In some embodiments of this application, the plurality of acceleration thresholds includes a first acceleration threshold corresponding to an unloaded state and a second acceleration threshold corresponding to a maximum load state; obtaining the plurality of acceleration thresholds based on the load state of the robot arm includes:
[0033] Based on the unloaded state of the robotic arm, obtain the first acceleration threshold;
[0034] The second acceleration threshold is obtained based on the maximum load state of the robotic arm.
[0035] In some embodiments of this application, determining the acceleration control threshold based on the plurality of acceleration thresholds includes:
[0036] The acceleration control threshold is determined based on the intersection of the first acceleration threshold and the second acceleration threshold.
[0037] The above scheme has at least the following beneficial effects: It obtains several sets of acceleration thresholds based on the load state of the robot arm; it obtains basic parameter information of the robot arm and load based on the load state; it obtains the maximum acceleration of the robot arm based on the basic parameter information of the robot arm and load; it obtains the minimum acceleration of the robot arm based on the motion data of the robot arm; it obtains the acceleration change rate threshold of the robot arm based on the state data of the driver and the motion data of the robot arm; it obtains the acceleration threshold of the robot arm based on the maximum acceleration, minimum acceleration, acceleration change rate threshold, and motion time in the motion data; it determines the acceleration control threshold based on several sets of acceleration thresholds; it determines the output force safety threshold of the driver based on the acceleration control threshold and the mass of the load; and it controls the acceleration of the robot arm within the output force safety threshold, avoiding the servo motor driving the robot arm to operate at full load due to setting the acceleration beyond the design threshold range, and avoiding wear on the robot arm caused by inertial forces exceeding the design threshold during deceleration, thus shortening the robot arm's service life; it also avoids the servo motor operating under saturation and reducing production efficiency due to setting the acceleration below the equipment design threshold range. Attached Figure Description
[0038] The accompanying drawings are used to provide a further understanding of the technical solutions of this application and constitute a part of the specification. They are used together with the embodiments of this application to explain the technical solutions of this application and do not constitute a limitation on the technical solutions of this application.
[0039] Figure 1 This is a flowchart illustrating the steps of the robotic arm control method provided in an embodiment of this application;
[0040] Figure 2 This is a sub-step diagram of step S100 of the robotic arm control method provided in the embodiments of this application;
[0041] Figure 3 This is a sub-step diagram of step S103 of the robotic arm control method provided in the embodiments of this application;
[0042] Figure 4 This is a sub-step diagram of step S104 of the robotic arm control method provided in the embodiments of this application;
[0043] Figure 5 This is a sub-step diagram of step S105 of the robotic arm control method provided in the embodiments of this application;
[0044] Figure 6 It is a diagram showing the acceleration and velocity during the seven stages of motion. Detailed Implementation
[0045] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0046] It should be noted that although functional modules are divided in the device schematic diagram and a logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device or the order in the flowchart. The terms "first," "second," etc., in the specification, claims, or the aforementioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0047] The embodiments of this application will be further described below with reference to the accompanying drawings.
[0048] An embodiment of this application provides a robotic arm.
[0049] The robotic arm is equipped with a driver, which drives the robotic arm to transport along the production line where it is located.
[0050] Specifically, the driver is a servo motor.
[0051] The robotic arm employs the following control method to rationally control its acceleration. This avoids excessive acceleration setting, which would cause the servo motor driving the robotic arm to operate at full load, and also prevents the robotic arm from experiencing significant inertial forces during deceleration, thus increasing wear and tear and extending its service life. Conversely, it avoids excessive acceleration setting, which would result in the servo motor operating under saturation, thereby improving efficiency.
[0052] Reference Figure 1 The robotic arm control method includes, but is not limited to, the following steps:
[0053] Step S10: Obtain several sets of acceleration thresholds based on the load state of the robotic arm;
[0054] Step S20: Determine the acceleration control threshold based on several sets of acceleration thresholds;
[0055] Step S30: Determine the safe threshold for the output force of the robot's actuator based on the acceleration control threshold and the mass of the load.
[0056] Reference Figure 2 For step S10, each acceleration threshold is calculated based on the load state of the robot arm in the following manner. The steps for obtaining the acceleration threshold include, but are not limited to, the following:
[0057] Step S101: Obtain basic parameter information of the robot and the load based on the load status of the robot.
[0058] Step S102: Obtain the maximum acceleration of the robot arm based on the basic parameter information of the robot arm and the load;
[0059] Step S103: Obtain the minimum acceleration of the robotic arm based on its motion data;
[0060] Step S104: Obtain the acceleration change rate threshold of the robot arm based on the state data of the driver and the motion data of the robot arm;
[0061] Step S105: Obtain the acceleration threshold of the robotic arm based on the maximum acceleration, minimum acceleration, acceleration change rate threshold, and motion time in the motion data.
[0062] For step S101, obtain the basic parameter information of the robot and the load. For example, the basic parameter information of the load is stored in a database, and the basic parameter information of the load can be obtained by scanning the QR code on the load; or, the basic parameter information of the load is recorded in an online document, and the basic parameter information of the load can be obtained by scanning the QR code on the load.
[0063] The basic parameters for the robotic arm and the load include: the mass of the load, the mass of the robotic arm, and the inertial torque of the robotic arm. The mass of the load can be calculated based on information such as the weight and number of battery cells.
[0064] For step S102, the relationship between the mass of the load, the mass of the robot arm, the inertial torque of the robot arm, and the maximum acceleration is: F = (m 机械手 +m 负载 )a, where F represents the inertial torque of the manipulator, m 机械手 The mass m of the robotic arm 负载 This represents the mass of the load, and 'a' is the maximum acceleration.
[0065] Then, based on the basic parameter information of the manipulator and the load, the maximum acceleration of the manipulator is obtained, specifically: based on the mass of the load, the mass of the manipulator, the inertial torque of the manipulator, and the formula F = (m 机械手 +m 负载 )a, to obtain the maximum acceleration that the robot is allowed to move during operation.
[0066] Referring to Figure 3, for step S103, the minimum acceleration of the robot arm is obtained based on the motion data of the robot arm, including but not limited to the following steps:
[0067] Step S1031: Obtain the motion data of the robot arm based on the configuration information of the production line where the robot arm is located;
[0068] Step S1032: Obtain the minimum acceleration of the robotic arm based on the motion stroke and motion time in the motion data.
[0069] The configuration information of the production line where the robotic arm is located includes the location of the processing points and the processing time. The robotic arm needs to stop at each processing point, therefore the location of the processing point determines the travel distance in the motion data. The processing time determines the motion time. If the robotic arm's movement time between two processing points is too short, too many workpieces will accumulate at the subsequent processing point, making it impossible to process them in time; if the robotic arm's movement time between two processing points is too long, no workpieces will be processed at the subsequent processing point, reducing production efficiency.
[0070] Based on the relationship between motion distance, motion time, and minimum acceleration, the minimum acceleration of the robotic arm can be obtained from the motion distance and motion time in the motion data.
[0071] Reference Figure 4 For step S104, the maximum and minimum rates of change of acceleration of the robot are obtained based on the state data of the driver and the motion data of the robot, including but not limited to the following steps:
[0072] Step S1041: When the status data of the driver indicates that the driver is in a normal load state, the minimum rate of change of acceleration of the manipulator is obtained based on the seven-stage motion stroke and the motion time corresponding to the seven-stage motion stroke in the motion data.
[0073] Step S1042: When the status data of the driver indicates that the driver is in full load state, the maximum acceleration change rate of the robot is obtained based on the four-stage motion stroke and the motion time corresponding to the four-stage motion stroke in the motion data.
[0074] The seven-stage motion sequence includes the first acceleration phase, the first constant acceleration phase, the first deceleration phase, the uniform motion phase, the second deceleration phase, the second constant acceleration phase, and the second acceleration phase; the four-stage motion sequence includes the first acceleration phase, the first deceleration phase, the second deceleration phase, and the second acceleration phase.
[0075] It is understandable that the first acceleration phase of the four-stage exercise corresponds to the first acceleration phase of the seven-stage exercise; the first deceleration phase of the four-stage exercise corresponds to the first deceleration phase of the seven-stage exercise; the second deceleration phase of the four-stage exercise corresponds to the second deceleration phase of the seven-stage exercise; and the second acceleration phase of the four-stage exercise corresponds to the second acceleration phase of the seven-stage exercise.
[0076] The time for the first acceleration phase, the third deceleration phase, the fifth deceleration phase, and the seventh acceleration phase are all equal; the time for the second constant acceleration phase is equal to the sixth constant acceleration phase. This ensures the smooth operation of the robotic arm.
[0077] When the status data of the driver indicates that the driver is under normal load, the fourth motion time corresponding to the uniform motion stage is obtained based on the speed of the driver and the lead of the robot screw.
[0078] Let t1 be the motion time corresponding to the first acceleration phase, T1 be the final time corresponding to the first acceleration phase, v1 be the velocity corresponding to the first acceleration phase, V1 be the final velocity corresponding to the first acceleration phase, a1 be the acceleration corresponding to the first acceleration phase, J1 be the rate of change of acceleration corresponding to the first acceleration phase, S1 be the displacement corresponding to the first acceleration phase, and S01 be the position corresponding to the first acceleration phase.
[0079] The motion time corresponding to the first constant acceleration phase is t2, the final time corresponding to the first constant acceleration phase is T2, the velocity corresponding to the first constant acceleration phase is v2, the final velocity corresponding to the first constant acceleration phase is V2, the acceleration corresponding to the first constant acceleration phase is a2, the rate of change of acceleration corresponding to the first constant acceleration phase is J2, the displacement corresponding to the first constant acceleration phase is S2, and the position corresponding to the first constant acceleration phase is S02.
[0080] The motion time corresponding to the first deceleration phase is t3, the final time corresponding to the first deceleration phase is T3, the velocity corresponding to the first deceleration phase is v3, the final velocity corresponding to the first deceleration phase is V3, the acceleration corresponding to the first deceleration phase is a3, the rate of change of acceleration corresponding to the first deceleration phase is J3, the displacement corresponding to the first deceleration phase is S3, and the position corresponding to the first deceleration phase is S03.
[0081] The motion time corresponding to the uniform motion phase is t4, the final time corresponding to the uniform motion phase is T4, the velocity corresponding to the uniform motion phase is v4, the final velocity corresponding to the uniform motion phase is V4, the acceleration corresponding to the uniform motion phase is a4, the rate of change of acceleration corresponding to the uniform motion phase is J4, the displacement corresponding to the uniform motion phase is S4, and the position corresponding to the uniform motion phase is S04.
[0082] The motion time corresponding to the second deceleration phase is t5, the final time corresponding to the second deceleration phase is T5, the velocity corresponding to the second deceleration phase is v5, the final velocity corresponding to the second deceleration phase is V5, the acceleration corresponding to the second deceleration phase is a5, the rate of change of acceleration corresponding to the second deceleration phase is J5, the displacement corresponding to the second deceleration phase is S5, and the position corresponding to the second deceleration phase is S05.
[0083] The motion time corresponding to the second constant acceleration phase is t6, the final time corresponding to the second constant acceleration phase is T6, the velocity corresponding to the second constant acceleration phase is v6, the final velocity corresponding to the second constant acceleration phase is V6, the acceleration corresponding to the second constant acceleration phase is a6, the rate of change of acceleration corresponding to the second constant acceleration phase is J6, the displacement corresponding to the second constant acceleration phase is S6, and the position corresponding to the second constant acceleration phase is S06.
[0084] The motion time corresponding to the second acceleration phase is t7, the final time corresponding to the second acceleration phase is T, the velocity corresponding to the second acceleration phase is v7, the final velocity corresponding to the second acceleration phase is V7, the acceleration corresponding to the second acceleration phase is a7, the rate of change of acceleration corresponding to the second acceleration phase is J7, the displacement corresponding to the second acceleration phase is S7, and the position corresponding to the second acceleration phase is S07.
[0085] If we calculate the motion in stages—the first accelerated motion stage, the first constant-acceleration motion stage, the first deceleration motion stage, the uniform motion stage, the second deceleration motion stage, the second constant-acceleration motion stage, and the second accelerated motion stage—then we have:
[0086] Let t1 be the motion time corresponding to the first acceleration phase, J1 be the rate of change of acceleration corresponding to the first acceleration phase, and S1m be the motion distance corresponding to the first acceleration phase.
[0087] The motion time corresponding to the first constant acceleration phase is t2, the rate of change of acceleration corresponding to the first constant acceleration phase is J2, and the motion distance corresponding to the first constant acceleration phase is S2m.
[0088] The motion time corresponding to the first deceleration phase is t3, the rate of change of acceleration corresponding to the first deceleration phase is J3, and the motion distance corresponding to the first deceleration phase is S3m.
[0089] The motion time corresponding to the uniform motion phase is t4, the rate of change of acceleration corresponding to the uniform motion phase is J4, and the motion distance corresponding to the uniform motion phase is S4m.
[0090] The motion time corresponding to the second deceleration phase is t5, the rate of change of acceleration corresponding to the second deceleration phase is J5, and the motion distance corresponding to the second deceleration phase is S5m.
[0091] The motion time corresponding to the second constant acceleration phase is t6, the rate of change of acceleration corresponding to the second constant acceleration phase is J6, and the motion distance corresponding to the second constant acceleration phase is S6m.
[0092] The motion time corresponding to the second acceleration phase is t7, the rate of change of acceleration corresponding to the second acceleration phase is J7, and the motion distance corresponding to the second acceleration phase is S7m.
[0093] Reference Figure 6 The following formula can be obtained by calculating the seven-stage motion distance in the same coordinate system.
[0094] Initial acceleration a0 = 0, initial velocity v0 = 0.
[0095] For the first accelerated motion phase, J1 is a positive constant, the acceleration corresponding to the first accelerated motion phase is a1 = J1t1, and the velocity corresponding to the first accelerated motion phase is... The displacement corresponding to the first acceleration phase The final velocity corresponding to the first acceleration phase The position corresponding to the first acceleration phase
[0096] For the first constant acceleration phase, J2 = 0, a2 = J1T1, and the initial velocity of the first constant acceleration phase is the same as the velocity at the end of the first phase. The speed corresponding to the first constant acceleration phase The final velocity corresponding to the first constant acceleration phase Displacement corresponding to the first constant acceleration phase The position corresponding to the first constant acceleration phase
[0097] For the first deceleration phase, J3 is a negative constant, and the acceleration corresponding to the first deceleration phase is a3 = J1T1 + J3(t-T2). The final velocity corresponding to the first deceleration phase The displacement corresponding to the first deceleration phase The position corresponding to the first deceleration phase
[0098] During the uniform motion phase, J4 = 0, the initial acceleration during the uniform motion phase is 0, and the corresponding velocity during the uniform motion phase is... Displacement corresponding to the uniform motion phase Position corresponding to the uniform motion phase
[0099] For the second deceleration phase, J5 is a negative constant, the initial acceleration of the second deceleration phase is 0, the corresponding acceleration of the second deceleration phase is a5 = J5(t - T4), and the corresponding velocity of the second deceleration phase is... The displacement corresponding to the second deceleration phase The position corresponding to the second deceleration phase
[0100] For the second constant acceleration phase, J6 = 0, the acceleration a5 = J5(T5 - T4) during the second constant acceleration phase, and the velocity during the second constant acceleration phase... Displacement during the second constant acceleration phase Position of the second constant acceleration phase
[0101] For the second acceleration phase, J7 is a positive constant, and the acceleration a7 in the second acceleration phase is J5(T5-T4) + J7(T7-T6). The corresponding velocity in the second acceleration phase is... The displacement corresponding to the second acceleration phase The position corresponding to the second acceleration phase is:
[0102] In addition, the maximum and minimum accelerations calculated in steps S102 and S103 can be used to define the two peak values of acceleration in the seven-stage motion stroke and the two peak values of acceleration in the four-stage motion stroke.
[0103] Since t1 = t3 = t5 = t7, t2 = t5, when the driver's status data indicates that the driver is at full load, t4 = 0, and t1 + t2 + t3 + t4 + t5 + t6 + t7 = t totalBy substituting known data such as the four-stage motion distance and the corresponding motion time from the motion data into the formula for the four-stage motion distance, the maximum rate of change of acceleration of the robot can be obtained.
[0104] In the first acceleration phase, the acceleration gradually increases, and the velocity gradually increases; in the first deceleration phase, the acceleration gradually decreases, and the velocity gradually increases to its peak value; in the second deceleration phase, the acceleration gradually decreases, and the velocity gradually decreases; in the second acceleration phase, the acceleration gradually increases, and the velocity gradually decreases to 0.
[0105] When the driver's status data indicates that the driver is under normal load, the fourth motion time t4 corresponding to the uniform motion stage is obtained based on the driver's rotational speed and the lead of the robot's screw. When the driver's status data indicates that the driver is under normal load, by substituting the known data such as the seven-stage motion stroke and the motion time corresponding to the seven-stage motion stroke into the formula for the seven-stage motion stroke, the minimum rate of change of acceleration of the robot can be obtained.
[0106] Reference Figure 6 We can see that in the first acceleration phase, the acceleration gradually increases, and the velocity gradually increases; in the first constant acceleration phase, the acceleration remains constant, and the velocity gradually increases; in the first deceleration phase, the acceleration gradually decreases, and the velocity gradually increases to its peak value; in the uniform motion phase, the acceleration is 0, and the velocity remains at its peak value; in the second deceleration phase, the acceleration gradually decreases, and the velocity gradually decreases; in the second constant acceleration phase, the acceleration remains constant, and the velocity gradually decreases; in the second acceleration phase, the acceleration gradually increases, and the velocity gradually decreases to 0.
[0107] Reference Figure 5 For step S105, the acceleration threshold of the robotic arm is obtained based on the maximum acceleration, minimum acceleration, acceleration rate of change threshold, and motion time in the motion data, including but not limited to the following steps:
[0108] Step S1051: Obtain the first acceleration range based on the minimum and maximum accelerations;
[0109] Step S1052: Obtain the second acceleration interval based on the maximum rate of change of acceleration, the minimum rate of change of acceleration, and the motion time in the motion data;
[0110] Step S1053: The acceleration control range is obtained from the intersection of the first acceleration range and the second acceleration range.
[0111] For step S1052, the second maximum acceleration can be obtained by multiplying the maximum rate of change of acceleration by the motion time, and the second minimum acceleration can be obtained by multiplying the minimum rate of change of acceleration by the motion time. The second acceleration range is determined based on the second maximum acceleration and the second minimum acceleration.
[0112] Generally, the first acceleration threshold corresponding to the no-load state and the second acceleration threshold corresponding to the maximum load state are used to determine the acceleration control threshold.
[0113] Then, based on the load state of the robotic arm, several sets of acceleration thresholds are obtained, including:
[0114] Based on the unloaded state of the robotic arm, obtain the first acceleration threshold;
[0115] The second acceleration threshold is obtained based on the maximum load state of the robotic arm.
[0116] The first acceleration threshold includes the maximum and minimum acceleration of the robot arm under no-load conditions; the second acceleration threshold includes the maximum and minimum acceleration of the robot arm under maximum load conditions.
[0117] Of course, in other embodiments, multiple acceleration thresholds obtained under other weight loads can also be used to fit the acceleration control threshold.
[0118] Furthermore, for step S20, the acceleration control threshold is determined based on several sets of acceleration thresholds, specifically: the acceleration control threshold is determined based on the intersection of the first acceleration threshold and the second acceleration threshold.
[0119] For step S30, according to the formula F=ma, the safe threshold of the output force of the manipulator's actuator is determined based on the acceleration control threshold and the mass of the load. Specifically, the safe threshold of the output force of the actuator is obtained by multiplying the acceleration control threshold and the mass of the load.
[0120] Understandably, for robotic arms under different weight loads, the safe threshold for the output force of the actuator will also change according to the mass of the load.
[0121] The robot's driver is controlled based on the safe threshold of the driver's output force to drive the robot for transportation. This allows for reasonable control of the robot's acceleration, avoiding excessive acceleration that would cause the servo motor driving the robot to operate at full load, and preventing the robot from experiencing excessive inertial force during deceleration, which would cause wear and tear and extend the robot's lifespan. Conversely, excessive acceleration would prevent the servo motor from operating under full load, thus improving efficiency.
[0122] An embodiment of this application provides an electronic device. The electronic device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the above-described robotic arm control method.
[0123] This electronic device can be any smart terminal, including computers.
[0124] In general, for the hardware structure of electronic devices, the processor can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, to execute relevant programs and implement the technical solutions provided in the embodiments of this application.
[0125] The memory can be implemented in the form of read-only memory (ROM), static storage device, dynamic storage device, or random access memory (RAM). The memory can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory and is called and executed by the processor.
[0126] Input / output interfaces are used to implement information input and output.
[0127] The communication interface is used to enable communication and interaction between this device and other devices. Communication can be achieved through wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).
[0128] The bus transmits information between various components of a device, such as the processor, memory, input / output interfaces, and communication interfaces. The processor, memory, input / output interfaces, and communication interfaces communicate with each other within the device via the bus.
[0129] Embodiments of this application provide a computer-readable storage medium. The computer-readable storage medium stores computer-executable instructions for performing the above-described robotic arm control method.
[0130] It should be understood that the method steps in the embodiments of this application can be implemented or carried out by computer hardware, a combination of hardware and software, or by computer instructions stored in a non-transitory computer-readable storage medium. The method can use standard programming techniques. Each program can be implemented in a high-level procedural or object-oriented programming language to communicate with the computer system. However, if necessary, the program can be implemented in assembly or machine language. In any case, the language can be a compiled or interpreted language. Furthermore, for this purpose, the program can run on a programmed application-specific integrated circuit (ASIC).
[0131] Furthermore, the procedures described herein may be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by the context. The procedures described herein (or variations and / or combinations thereof) may be executed under the control of one or more computer systems configured with executable instructions, and may be implemented by hardware or a combination thereof as code (e.g., executable instructions, one or more computer programs, or one or more applications) that commonly executes on one or more processors. A computer program comprises multiple instructions executable by one or more processors.
[0132] Furthermore, the method can be implemented in any suitable type of computing platform, including but not limited to personal computers, smartphones, mainframes, workstations, networked or distributed computing environments, standalone or integrated computer platforms, or in communication with charged particle tools or other imaging devices, etc. Aspects of the invention can be implemented as machine-readable code stored on a non-transitory storage medium or device, whether removable or integrated into a computing platform, such as a hard disk, optical read and / or write storage medium, RAM, ROM, etc., such that it is readable by a programmable computer, and when the storage medium or device is read by the computer, it can be used to configure and operate the computer to perform the processes described herein. Furthermore, the machine-readable code, or portions thereof, can be transmitted via wired or wireless networks. The invention includes these and other different types of non-transitory computer-readable storage media when such media comprises instructions or programs that implement the steps above in conjunction with a microprocessor or other data processor. When programmed according to the method and techniques of the invention, the invention also includes the computer itself.
[0133] A computer program can be applied to input data to perform the functions described herein, thereby transforming the input data to generate output data stored in non-volatile memory. The output information can also be applied to one or more output devices, such as a display. In a preferred embodiment of the invention, the transformed data represents physical and tangible objects, including specific visual depictions of physical and tangible objects generated on the display.
[0134] Although embodiments of this application have been shown and described, those skilled in the art will understand that various changes, modifications, substitutions and variations can be made to these embodiments without departing from the principles and spirit of this application, the scope of which is defined by the claims and their equivalents.
[0135] The above is a detailed description of the preferred embodiments of this application, but this application is not limited to the embodiments. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of this application, and these equivalent modifications or substitutions are all included within the scope defined by the claims of this application.
Claims
1. A method for controlling a robotic arm, characterized in that, include: Based on the load state of the robotic arm, obtain several sets of acceleration thresholds; The acceleration control threshold is determined based on the aforementioned set of acceleration thresholds; Based on the acceleration control threshold and the mass of the load, determine the safe threshold for the output force of the manipulator's actuator; The process of obtaining multiple sets of acceleration thresholds based on the load state of the robotic arm includes: The basic parameter information of the robot and the load is obtained based on the load state of the robot. The maximum acceleration of the robotic arm is obtained based on the basic parameter information of the robotic arm and the load. The minimum acceleration of the robotic arm is obtained based on its motion data; The acceleration change rate threshold of the robot arm is obtained based on the state data of the driver and the motion data of the robot arm; The acceleration threshold of the robotic arm is obtained based on the maximum acceleration, the minimum acceleration, the acceleration change rate threshold, and the motion time in the motion data; The basic parameter information of the manipulator and the load includes the mass of the load, the mass of the manipulator, and the inertial torque of the manipulator; obtaining the maximum acceleration of the manipulator based on the basic parameter information of the manipulator and the load includes: The maximum acceleration of the robot arm is obtained based on the mass of the load, the mass of the robot arm, and the inertial torque of the robot arm; The step of obtaining the minimum acceleration of the robotic arm based on its motion data includes: The motion data of the robotic arm is obtained based on the configuration information of the production line where the robotic arm is located. The minimum acceleration of the robotic arm is obtained based on the motion distance and motion time in the motion data; The step of obtaining the acceleration change rate threshold of the robotic arm based on the state data of the actuator and the motion data of the robotic arm includes: When the status data of the driver indicates that the driver is in a normal load state, the minimum rate of change of acceleration of the manipulator is obtained based on the seven-stage motion stroke and the motion time corresponding to the seven-stage motion stroke in the motion data. When the status data of the driver indicates that the driver is in a full-load state, the maximum rate of change of acceleration of the manipulator is obtained based on the four-stage motion stroke and the corresponding motion time in the motion data. The seven-stage motion process includes a first acceleration phase, a first constant acceleration phase, a first deceleration phase, a uniform motion phase, a second deceleration phase, a second constant acceleration phase, and a second acceleration phase. The four-stage motion process includes a first acceleration phase, a first deceleration phase, a second deceleration phase, and a second acceleration phase.
2. The robotic arm control method according to claim 1, characterized in that, The first motion time corresponding to the first acceleration phase, the third motion time corresponding to the first deceleration phase, the fifth motion time corresponding to the second deceleration phase, and the seventh motion time corresponding to the second acceleration phase are equal; the second motion time corresponding to the first constant acceleration phase and the sixth motion time corresponding to the second constant acceleration phase are equal.
3. The robotic arm control method according to claim 1, characterized in that, When the status data of the driver indicates that the driver is in a normal load state, the fourth motion time corresponding to the uniform motion phase is obtained based on the rotational speed of the driver and the lead of the robot screw.
4. The robotic arm control method according to claim 1, characterized in that, The step of obtaining the acceleration threshold of the robotic arm based on the maximum acceleration, the minimum acceleration, the acceleration change rate threshold, and the motion time in the motion data includes: The first acceleration range is obtained based on the minimum acceleration and the maximum acceleration; The second acceleration interval is obtained based on the acceleration rate of change threshold and the motion time in the motion data; The acceleration threshold of the robotic arm is obtained from the intersection of the first acceleration interval and the second acceleration interval.
5. The robotic arm control method according to claim 1, characterized in that, The plurality of acceleration thresholds includes a first acceleration threshold corresponding to the no-load state and a second acceleration threshold corresponding to the maximum load state; the process of obtaining the plurality of acceleration thresholds based on the load state of the robot arm includes: Based on the unloaded state of the robotic arm, obtain the first acceleration threshold; The second acceleration threshold is obtained based on the maximum load state of the robotic arm.
6. The robotic arm control method according to claim 5, characterized in that, The step of determining the acceleration control threshold based on the plurality of acceleration thresholds includes: The acceleration control threshold is determined based on the intersection of the first acceleration threshold and the second acceleration threshold.