Precise Positioning Method for Robotic Arms Based on Variable Frequency Brake Motor

By using a variable frequency brake motor for precise positioning, the problem of poor speed and stability adjustment during the movement of the robotic arm was solved, achieving precise positioning and flexible power output, thus improving the positioning accuracy and energy efficiency of the robotic arm.

CN119871450BActive Publication Date: 2025-10-31NANJING SPECIAL MOTOR PLANT CO
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510319473.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-18
Publication Date
2025-10-31
Estimated Expiration
2045-03-18

AI Technical Summary

Technical Problem

The robotic arm has poor speed and stability adjustment during movement, is easily affected by external forces, and has inflexible output power, resulting in inaccurate positioning and increased energy consumption.

Method used

The system employs a variable frequency brake motor. By setting an xyz spatial rectangular coordinate system and combining position sensors and counting sensors, the rotation speed and number of revolutions are controlled in stages. The positioning algorithm and Jacobian matrix are used to iteratively calculate the predetermined point to ensure precise positioning of the robotic arm. The power output is also adjusted according to the weight of the goods.

Benefits of technology

It improves the robotic arm's precise positioning capabilities, reduces the risk of cargo damage, lowers energy consumption, and increases work efficiency and flexibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119871450B_ABST
    Figure CN119871450B_ABST
Patent Text Reader

Abstract

This invention provides a precise positioning method for a robotic arm based on a variable frequency brake motor, comprising the following steps: S1: establishing an x-y-z spatial rectangular coordinate system with the robotic arm as the origin; S2: setting a target position for the robotic arm; S3: calculating the rotational speed and number of revolutions of the variable frequency brake motor based on the difference between the target position and the initial position of the robotic arm; S4: starting the motor according to the set rotational speed and number of revolutions, following a set positioning algorithm; S5: the robotic arm reaches the target position, grasps the goods, and moves the goods to the designated location. This invention provides a precise positioning method for a robotic arm based on a variable frequency brake motor, reducing errors during the robotic arm's movement and enabling precise grasping and placement of goods. Simultaneously, the robotic arm can move flexibly between narrow storage aisles and shelves, and its precise positioning capability allows it to adapt to warehouse environments with different layouts.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of variable frequency brake motors, and more particularly to a precise positioning method based on a variable frequency brake motor. Background Technology

[0002] In warehousing and logistics, robotic arms offer broad and promising applications for precise positioning. Operators can accurately position robotic arms to the storage location of goods, whether on shelves or in specific areas of a warehouse. This means they can quickly grab goods and move them to designated locations, reducing the time spent searching for items.

[0003] However, the following problems also exist:

[0004] 1. During the movement of a robotic arm, its speed and stability are often not adjustable, which can lead to damage to goods or reduce the accuracy of the robotic arm's positioning when handling goods.

[0005] 2. During the movement of the robotic arm, it is easily affected by external forces, causing the robotic arm to deviate from its original trajectory, thereby reducing the accuracy of the robotic arm's positioning;

[0006] 3. When a robotic arm is handling goods, the power output is often constant depending on the type of goods. It cannot flexibly adjust the power output according to the weight of the goods, which increases energy consumption. Summary of the Invention

[0007] The purpose of this invention is to address the shortcomings of existing technologies by proposing a precise positioning method based on a variable frequency brake motor.

[0008] To achieve the above objectives, the present invention adopts the following technical solution:

[0009] A precise positioning method based on a variable frequency brake motor includes the following steps:

[0010] S1: The operator sets up a Cartesian coordinate system in xyz space with the base of the robotic arm as the origin;

[0011] The robotic arm includes a variable frequency brake motor, a control system, and a position sensor;

[0012] The variable frequency brake motor includes a counting sensor and a rotor, and the variable frequency brake motor provides power to the robotic arm.

[0013] The control system controls the voltage frequency of the variable frequency brake motor.

[0014] The initial position of the robotic arm base is (0,0,0).

[0015] The position sensor is used to collect the real-time position (x, y, z) of the robotic arm.

[0016] S2: The operator sets the target position for the robotic arm in the operating system;

[0017] The target location is a point in the xyz spatial rectangular coordinate system, marked as (X1, Y1, Z1).

[0018] S3: The operating system determines the speed and number of revolutions of the variable frequency brake motor based on the distance S between the target position and the initial position of the robotic arm;

[0019] Includes the following sub-steps:

[0020] S31: The operating system calculates the difference between the target position and the initial position of the robotic arm on the X, Y, and Z axes;

[0021] The difference along the X-axis is X1-0, the difference along the Y-axis is Y1-0, and the difference along the Z-axis is Z1-0.

[0022] S32: The operating system calculates the angle α and distance S between the initial position and the target position based on the differences between the target position and the robot arm's initial position on the X, Y, and Z axes.

[0023] First, calculate the distance S between the initial position and the target position using the distance function;

[0024] Distance S = ;

[0025] Then, based on the relative positional relationship between the initial position and the target position, the angle α between the target position and the initial position is calculated.

[0026] The ;

[0027] S33: The operating system calculates the number of revolutions p of the variable frequency brake motor based on the determined distance;

[0028] The distance the robotic arm moves when the variable frequency brake motor rotates one revolution is M;

[0029] The distance M is measured by a position sensor;

[0030] The number of revolutions P = S / M;

[0031] S34: The operator sets the corresponding speed G1 of the variable frequency brake motor in the operating system according to the distance S, and divides the speed G1 change process into the starting stage, the constant speed stage, and the deceleration stage.

[0032] The specific content of step S34 is as follows:

[0033] S341: Identify the real-time rotation count of the variable frequency brake motor;

[0034] The variable frequency brake motor is equipped with a sensor on its top, which monitors the real-time number of revolutions of the variable frequency brake motor.

[0035] S342: The operating system divides the starting stage, constant speed stage, and deceleration stage according to the number of rotations P of the variable frequency brake motor.

[0036] The initial stage is the first 20% of the rotational revolutions P. During the initial stage, the speed of the variable frequency brake motor starts from 0 and increases uniformly to G1 according to a certain acceleration k.

[0037] The quantitative relationship between the rotational speed G1, the time t1 of rotor rotation, and the acceleration k of rotor is G1 = ΔG + G0, where ΔG is the change in rotational speed, ΔG = kt1; and G0 is the initial rotational speed, which is 0, i.e., G1 = kt1, t1 = G1 / k.

[0038] The value of the acceleration k is a constant;

[0039] The value of acceleration k can be calculated using Formula 1;

[0040] Formula 1: Where k is acceleration, t1 is the time required for the rotational speed to reach the set rotational speed G1, dt is a small increment of time t, and P is the total number of rotations of the rotor;

[0041] Therefore, by inputting the set rotational speed G1 and acceleration k into the control system, the rotational speed of the variable frequency brake motor can be controlled to reach the set rotational speed G1 when the real-time number of revolutions of the variable frequency brake motor reaches 20% of the total number of revolutions.

[0042] The constant speed phase is the first 20%-80% of the number of rotations P. During the constant speed phase, the speed G1 of the variable frequency brake motor remains unchanged. The duration of the constant speed phase is t2, where t2 = 60%P / G1, p is the total number of rotations, and G1 is the set speed.

[0043] The deceleration phase is 80%-100% of the number of rotations P. During the deceleration phase, the speed of the variable frequency brake motor is uniformly reduced to the threshold A.

[0044] The formula for calculating the uniform decrease in rotational speed is G = G1 - k(t - t1 - t2), where t is the time for the rotor to rotate, t1 is the time required for the rotational speed G to reach the set rotational speed G1, t2 is the duration of the uniform speed phase, and t - t1 - t2 is the duration of the deceleration phase. G is the rotational speed, G1 is the set rotational speed, and k is the acceleration.

[0045] The threshold A is the rotational speed at which the rotor can be stopped immediately by the braking device.

[0046] S4: The variable frequency brake motor starts according to the set speed G1 and the number of rotations P required by the variable frequency brake motor, following the preset positioning algorithm.

[0047] The specific details of the positioning algorithm are as follows:

[0048] Establish perpendicular constraints from a point to a plane;

[0049] The equation of the plane is ax + by + cz + d = 0;

[0050] The coefficients a, b, and c form an array that represents the normal vector of the plane;

[0051] Convert the target location points into an array (X1, Y1, Z1), representing the point vector;

[0052] The plane is perpendicular to the line connecting the target position and the initial position;

[0053] Calculate the dot product of the point vector and the normal vector, and add the constant term d in the plane equation. The dot product N = X1a + Y1b + Z1c + d. If the absolute value of the dot product N is less than the threshold B, it means that the target position is perpendicular to the plane, and the dot product N returns the F(x, y, z) constraint equation system. If the absolute value of the dot product N is greater than the threshold B, it means that the target position is not perpendicular to the plane, and the dot product N does not return the F(x, y, z) constraint equation system.

[0054] The threshold B is a value that approaches 0;

[0055] Establish distance constraints:

[0056] The operating system measures the distance Q between the target position and the initial position based on the position sensor.

[0057] Determine whether the distance Q between the target position and the initial position is equal to the distance S. If Q = S, return the F(x, y, z) constraint equations. If Q ≠ S, do not return the F(x, y, z) constraint equations.

[0058] Combine these two constraints into a system of constraint equations F(x, y, z) and return it.

[0059] The F(x, y, z) constraint equations are:

[0060]

[0061] Establish the Jacobian matrix J of the constraint equation system;

[0062] By making small perturbations to each variable x, y, z, increasing dx, dy, dz respectively, and then calculating the ratio of the change in the function value to the perturbation value to approximately obtain the elements of the Jacobian matrix J;

[0063] The Jacobian matrix J is

[0064]

[0065] The dx, dy, dz are the small change amounts of x, y, z respectively, and dx, dy, dz are 0.00001;

[0066] Through the Newton - Raphson method, continuously iterate and derive the position of the predetermined point according to the current point position and the forward direction;

[0067] The position of the predetermined point is the position point where the operating system derives the final stop of the robotic arm according to the current position and the forward direction of the robotic arm;

[0068] Set the position of the initial point to (0, 0, 0), and substitute the values of (x, y, z) into the constraint equations of F(x, y, z) and the Jacobian matrix J according to the position of the robotic arm (x, y, z);

[0069] Set the maximum number of iterations MAX, and substitute the obtained values of the constraint equations of F(x, y, z) and the Jacobian matrix J into the iterative formula. The iterative formula is:

[0070] vec(x, y, z) n+1 =vec(x, y, z) n – J*(-1)

vec(x, y, z) n

vec(x, y, z) n

[0071] vec(x, y, z) n represents the vector value of the vector (x, y, z) at the nth step, vec(x, y, z) n+1 represents the vector value of the vector (x, y, z) at the (n + 1)th step, vec(F)

vec(x, y, z) n

vec(x, y, z) n

vec(x, y, z) n

[0072] Compare the obtained vec(x, y, z) n+1 with the threshold B. If vec(x, y, z) n+1 < B, then the obtained vec(x, y, z)n+1 The corresponding coordinates are predetermined points; if vec(x, y, z) n+1 If B is selected, the predetermined point cannot be obtained, and the operating system will report an error.

[0073] The specific details of step S4 are as follows:

[0074] S41: The robotic arm rotates itself by an angle a;

[0075] The robotic arm includes a rotary joint, and the robotic arm achieves rotation by adjusting the rotary joint;

[0076] 'a' represents the angle between the initial position and the target position.

[0077] S42: The robotic arm begins to move from the initial position to the target position along angle a;

[0078] During the movement of the robotic arm, the position sensor collects the position points (X, Y, Z) of the robotic arm in real time. According to the positioning algorithm, the control system continuously calculates the coordinates of the predetermined point. When the coordinates of the predetermined point are inconsistent with the coordinates of the target position point, the control system reports an error and the robotic arm stops moving; if the coordinates of the predetermined point are consistent with the coordinates of the target position point, the robotic arm continues to move.

[0079] S5: The robotic arm reaches the target position, grabs the goods, and moves the goods to the designated position.

[0080] The specific content of step S5 is as follows:

[0081] S51: When the robotic arm reaches the target position, it outputs the corresponding power according to the weight of the goods to grab them.

[0082] The end of the robotic arm is equipped with a weighing device, which can accurately weigh the weight of the goods it grasps.

[0083] When the robotic arm comes into contact with the goods, it determines the mass m of the goods, and the motor outputs the corresponding power L according to the mass of the goods;

[0084] The power L ensures that the robotic arm can firmly grasp the goods.

[0085] S52: The robotic arm moves the goods to the designated location.

[0086] Compared with the prior art, the beneficial effects of the present invention are: the method proposed in the present invention can increase the ability of the robotic arm to accurately grasp goods and accurately control the speed and angle of the robotic arm;

[0087] Compared with the prior art, the beneficial effects of the present invention are: the method proposed in the present invention can increase the ability of the robotic arm to accurately grasp goods and accurately control the speed and angle of the robotic arm;

[0088] The method proposed in this invention allows the variable frequency brake motor to adjust its power output according to the actual needs of the goods. When the robotic arm grasps goods, the load varies at different stages. This characteristic of adaptively adjusting power based on the load avoids energy waste when the motor does not require high power, improves energy utilization, and reduces operating costs.

[0089] The method proposed in this invention allows the variable frequency brake motor to achieve a wide range of speed regulation by changing the power supply frequency. When a robotic arm grasps goods, different task scenarios may require different movement speeds. For example, when grasping goods that are far away and where time is not particularly urgent, a lower speed can be used to allow the robotic arm to approach the goods smoothly. However, in scenarios requiring rapid response, such as grasping small goods transported at high speed on an assembly line, the speed can be increased to quickly reach the target position. This wide-range speed regulation capability enables the robotic arm to adapt to the grasping needs of various goods, improving work efficiency and flexibility. Attached Figure Description

[0090] Figure 1 This is a flowchart illustrating the steps of the precise positioning method based on a variable frequency brake motor according to the present invention. Detailed Implementation

[0091] To provide a further understanding of the purpose, structure, features, and functions of the present invention, detailed descriptions are provided below with reference to specific embodiments.

[0092] like Figure 1 As shown, the precise positioning method based on a variable frequency brake motor includes the following steps:

[0093] S1: The operator sets up a Cartesian coordinate system in xyz space with the base of the robotic arm as the origin;

[0094] The robotic arm includes a variable frequency brake motor, a control system, and a position sensor;

[0095] The variable frequency brake motor includes a counting sensor and a rotor, and the variable frequency brake motor provides power to the robotic arm.

[0096] The control system controls the voltage frequency of the variable frequency brake motor.

[0097] The xyz spatial rectangular coordinate system, with the robotic arm base as the origin, can mark any point in three-dimensional space;

[0098] The operating system controls the speed G of the variable frequency brake motor by controlling the voltage frequency, and the speed of the variable frequency motor is determined by the received voltage frequency.

[0099] S2: The operator sets the target position for the robotic arm in the operating system;

[0100] The target location is a point in the xyz spatial rectangular coordinate system, marked as (X1, Y1, Z1).

[0101] The target location is the location of the goods;

[0102] S3: The operating system determines the speed G1 and number of revolutions P of the variable frequency brake motor based on the distance S between the target position and the initial position of the robotic arm;

[0103] Includes the following sub-steps:

[0104] S31: The operating system calculates the difference between the target position and the initial position of the robotic arm on the X, Y, and Z axes;

[0105] The difference along the X-axis is X1-0, the difference along the Y-axis is Y1-0, and the difference along the Z-axis is Z1-0.

[0106] S32: The operating system calculates the angle α and distance S between the initial position and the target position based on the differences between the target position and the robot arm's initial position on the X, Y, and Z axes.

[0107] First, calculate the distance S between the initial position and the target position using the distance function;

[0108] Distance S = ;

[0109] Then, based on the relative positional relationship between the initial position and the target position, the angle α between the target position and the initial position is calculated.

[0110] The ;

[0111] S33: The operating system calculates the number of revolutions p of the variable frequency brake motor based on the determined distance;

[0112] The distance the robotic arm moves when the variable frequency brake motor rotates one revolution is M;

[0113] The distance M is measured by a position sensor;

[0114] The number of revolutions P = S / M;

[0115] The number of revolutions P that the rotor needs to make is obtained by calculating the quotient of distance S and distance M.

[0116] S34: The operator sets the corresponding speed G1 of the variable frequency brake motor in the operating system according to the distance S, and divides the speed G1 change process into the starting stage, the constant speed stage, and the deceleration stage.

[0117] The specific content of step S34 is as follows:

[0118] S341: Identify the real-time rotation count of the variable frequency brake motor;

[0119] The variable frequency brake motor is equipped with a counting sensor on its top, which monitors the real-time number of revolutions of the variable frequency brake motor.

[0120] S342: The operating system divides the starting stage, constant speed stage, and deceleration stage according to the number of rotations P of the variable frequency brake motor.

[0121] The initial stage is the first 20% of the rotational revolutions P. During the initial stage, the speed of the variable frequency brake motor starts from 0 and increases uniformly to G1 according to a certain acceleration k.

[0122] The quantitative relationship between the rotational speed G1, the time t1 of rotor rotation, and the acceleration k of rotor is G1 = ΔG + G0, where ΔG is the change in rotational speed, ΔG = kt1; and G0 is the initial rotational speed, which is 0, i.e., G1 = kt1, t1 = G1 / k.

[0123] Based on the calculated distance S and the actual operating environment, the operator adjusts the speed of the robotic arm by setting an appropriate rotation speed G1 to meet the required robotic arm speed in different task scenarios.

[0124] The value of k can be calculated using Formula 1.

[0125] Formula 1: Where k is acceleration, t1 is the time required for rotational speed G to reach the set rotational speed G1, dt is a small increment of time t, and P is the total number of rotations of the rotor;

[0126] Therefore, by inputting the set rotational speed G1 and acceleration k into the control system, the rotational speed of the variable frequency brake motor can be controlled to reach the set rotational speed G1 when the real-time number of revolutions of the variable frequency brake motor reaches 20% of the total number of revolutions.

[0127] The constant speed phase is the first 20%-80% of the number of rotations P. During the constant speed phase, the speed G1 of the variable frequency brake motor remains unchanged. The duration of the constant speed phase is t2, where t2 = 60%P / G1, p is the total number of rotations, and G1 is the set speed.

[0128] The deceleration phase is 80%-100% of the number of rotations P. During the deceleration phase, the speed of the variable frequency brake motor is uniformly reduced to the threshold A.

[0129] The formula for calculating the uniform decrease in rotational speed is G = G1 - k(t - t1 - t2), where t is the time for the rotor to rotate, t1 is the time required for the rotational speed G to reach the set rotational speed G1, t2 is the duration of the uniform speed phase, and t - t1 - t2 is the duration of the deceleration phase. G is the rotational speed, G1 is the set rotational speed, and k is the acceleration.

[0130] The threshold A is the rotational speed at which the rotor of the variable frequency brake motor can be immediately stopped by the braking device.

[0131] The motion process of the variable frequency brake motor speed G is divided into three stages to ensure that the rotation of the rotor is stable in each stage. This further ensures that the state of the robotic arm is stable during the movement, and avoids the reduction in accuracy caused by instability during the movement of the robotic arm.

[0132] S4: The variable frequency brake motor starts according to the set speed G1 and number of revolutions P, and starts according to the set positioning algorithm.

[0133] The specific details of the positioning algorithm are as follows:

[0134] Establish perpendicular constraints from a point to a plane;

[0135] The equation of the plane is ax + by + cz + d = 0;

[0136] The coefficients a, b, and c form an array that represents the normal vector of the plane;

[0137] Convert the target location points into an array (X1, Y1, Z1), representing the point vector;

[0138] The plane is perpendicular to the line connecting the target position and the initial position;

[0139] Calculate the dot product of the point vector and the normal vector, and add the constant term d in the plane equation. The dot product N = X1a + Y1b + Z1c + d. If the absolute value of the dot product N is less than the threshold B, it means that the target position is perpendicular to the plane, and the dot product N returns the F(x, y, z) constraint equation system. If the absolute value of the dot product N is greater than the threshold B, it means that the target position is not perpendicular to the plane, and the dot product N does not return the F(x, y, z) constraint equation system.

[0140] The threshold B is a value that approaches 0;

[0141] Establish distance constraints:

[0142] The operating system measures the distance Q between the target position and the initial position based on the position sensor.

[0143] Determine whether the distance Q between the target position and the initial position is equal to the distance S. If Q = S, return the F(x, y, z) constraint equations. If Q ≠ S, do not return the F(x, y, z) constraint equations.

[0144] Combine these two constraints into a system of constraint equations F(x, y, z) and return it.

[0145] The F(x, y, z) constraint equations are:

[0146] ;

[0147] Establish the Jacobian matrix J of the constraint equation system;

[0148] The elements of the Jacobian matrix J are approximated by applying small perturbations to each variable x, y, z, increasing dx, dy, and dz respectively, and then calculating the ratio of the change in function value to the perturbation value.

[0149] The Jacobian matrix J is

[0150] ;

[0151] The dx, dy, and dz are the minute changes in x, y, and z, respectively, and dx, dy, and dz are all 0.00001.

[0152] The position of the predetermined point is derived iteratively based on the current position and the direction of movement using the Newton-Raphson method.

[0153] The predetermined point is the location where the robotic arm will eventually stop, which is deduced by the operating system based on the current position and direction of movement of the robotic arm.

[0154] Set the initial point to (0,0,0), and substitute the value of (x,y,z) into the F(x,y,z) constraint equations and the Jacobian matrix J according to the position of the robotic arm (x,y,z);

[0155] Set the maximum number of iterations MAX, and substitute the obtained values ​​of the F(x, y, z) constraint equations and the Jacobian matrix J into the iterative formula, which is as follows:

[0156] vec(x, y, z) n+1 =vec(x, y, z) n – J*(-1)[vec(x,y,z) n 】*vec(F)

vec(x,y,z) n

[0157] vec(x, y, z) nRepresents the vector value of the vector (x, y, z) at the nth step, vec(x, y, z) n+1 Represents the vector value of the vector (x, y, z) at the (n + 1)th step, vec(F)

vec(x, y, z) n

vec(x, y, z) n

vec(x, y, z) n

[0158] The obtained vec(x, y, z) n+1 Is compared with the threshold B. If vec(x, y, z) n+1 < B, the obtained vec(x, y, z) n+1 The corresponding coordinate point is the predetermined point; If vec(x, y, z) n+1 > B, the predetermined point cannot be obtained, and the operating system reports an error;

[0159] Through the positioning algorithm, during the movement of the robotic arm, the operating system, according to the current position of the robotic arm and the Newton - Raphson method, continuously iterates the position of the target point. When the position of the target point is inconsistent with the target position, the robotic arm stops moving, and at the same time, the operating system reports an error. This ensures the accuracy of the robotic arm during movement.

[0160] The specific content of step S4 is as follows:

[0161] S41: The robotic arm rotates its own angle by a;

[0162] The robotic arm includes a rotary joint, and the robotic arm rotates by adjusting the rotary joint;

[0163] The a is the included angle between the initial position and the target position;

[0164] S42: The robotic arm starts to move from the initial position to the target position along the angle a;

[0165] During the movement of the robotic arm, the position sensor continuously collects the position points (Xn, Yn, Zn) of the robotic arm. According to the positioning algorithm, the control system continuously calculates the coordinates of the predetermined point. When the coordinates of the predetermined point are inconsistent with the coordinates of the target position point, the control system reports an error and the robotic arm stops moving; If the coordinates of the predetermined point are consistent with the coordinates of the target position point, the robotic arm continues to move.

[0166] S5: The robotic arm reaches the target position, grabs the goods, and moves the goods to the designated position.

[0167] The specific content of step S5 is:

[0168] S51: When the robotic arm reaches the target position, it outputs the corresponding power according to the weight of the goods to grab them.

[0169] The end of the robotic arm is equipped with a weighing device, which can accurately weigh the weight of the goods it grasps.

[0170] When the robotic arm contacts the goods, it weighs the mass m of the goods. The relationship between the power L and the mass of the goods is L=em, where e is a constant coefficient. The motor outputs the corresponding power L according to the mass of the goods.

[0171] The power L ensures that the robotic arm can firmly grasp the goods.

[0172] S52: The robotic arm moves the goods to the designated location.

[0173] During operation, the operator first inputs the coordinates of the target position into the control system. The control system then calculates the distance and angle between the robotic arm and the target position based on these coordinates. Next, the operator inputs an appropriate operating speed for the variable frequency brake motor. The control system calculates the time 't' required for the motor to reach the set operating speed, ensuring that the variable frequency brake motor completes 20% of its rotations before reaching the set operating speed. This ensures smooth robotic arm movement, guaranteeing stability during operation and relatively stable speed adjustments. Smooth speed control avoids vibrations or positional deviations caused by sudden speed changes. This stability improves gripping accuracy and reduces the risk of goods falling or being damaged due to robotic arm wobbling during gripping. At this point, the robotic arm adjusts its angle through its rotary joints, making the angle 'a' between the target position and the current position. The robotic arm then begins to move. During this movement, the control system uses a positioning algorithm to collect the robotic arm's position in real time and iteratively predicts the coordinates of the final position the robotic arm will reach. If the predicted final position matches the target position, the robotic arm continues to move; otherwise, it stops. During movement, the robotic arm may be affected by external factors, causing deviations in its direction of movement. This positioning algorithm detects these deviations and alerts the control system, adjusting the robotic arm's angle and improving its accuracy. When the robotic arm reaches the target position, it begins to grasp the goods and weigh them, outputting a corresponding power L, thus reducing the energy consumption of the variable frequency brake motor.

[0174] The present invention has been described in the above-described embodiments; however, these embodiments are merely examples for implementing the present invention. It must be noted that the disclosed embodiments do not limit the scope of the present invention. Conversely, any modifications and refinements made without departing from the spirit and scope of the present invention are within the scope of patent protection of the present invention.

Claims

1. A precise positioning method for a robotic arm based on a variable frequency brake motor, characterized in that: Includes the following steps: S1: The operator sets up a Cartesian coordinate system in xyz space with the base of the robotic arm as the origin; The robotic arm includes a variable frequency brake motor, a control system, and a position sensor; The variable frequency brake motor includes a counting sensor and a rotor, and the variable frequency brake motor provides power to the robotic arm. The control system controls the voltage and frequency of the variable frequency brake motor; The position sensor is used to collect the real-time position (x, y, z) of the robotic arm; S2: The operator sets the target position for the robotic arm in the operating system; The target location is a point in the xyz spatial rectangular coordinate system, marked as (X1, Y1, Z1); S3: The operating system determines the speed G1 and number of revolutions P of the variable frequency brake motor based on the distance S between the target position and the initial position of the robotic arm; Includes the following sub-steps: S31: The operating system calculates the difference between the target position and the initial position of the robotic arm on the X, Y, and Z axes; The difference along the X-axis is X1-0, the difference along the Y-axis is Y1-0, and the difference along the Z-axis is Z1-0. S32: The operating system calculates the angle α and distance S between the initial position and the target position based on the differences between the target position and the robot arm's initial position on the X, Y, and Z axes. First, calculate the distance S between the initial position and the target position using the distance function; distance Then, based on the relative positional relationship between the initial position and the target position, the angle α between the target position and the initial position is calculated. S33: The operating system calculates the number of revolutions p of the variable frequency brake motor based on the determined distance S; The distance the robotic arm moves when the variable frequency brake motor rotates one revolution is M; The distance M is measured by a position sensor; The number of revolutions P = S / M; S34: The operator sets the corresponding speed G1 of the variable frequency brake motor in the operating system according to the distance S, and divides the speed G1 change process into the starting stage, the constant speed stage, and the deceleration stage. S4: The variable frequency brake motor starts according to the set speed G1 and the number of rotations P required by the variable frequency brake motor, following the preset positioning algorithm. S5: The robotic arm reaches the target position, grabs the goods, and moves the goods to the designated position.

2. The precise positioning method for a robotic arm based on a variable frequency brake motor as described in claim 1, characterized in that... The characteristic is that the specific content of step S34 is as follows: S341: Identify the real-time rotation count of the variable frequency brake motor; The variable frequency brake motor is equipped with a counting sensor on its top, which monitors the real-time number of revolutions of the variable frequency brake motor. S342: The operating system divides the starting stage, constant speed stage, and deceleration stage according to the number of rotations P of the variable frequency brake motor. The initial stage is the first 20% of the rotational revolutions P. During the initial stage, the speed of the variable frequency brake motor starts from 0 and increases uniformly to G1 according to a certain acceleration k. The quantitative relationship between the rotational speed G1, the time t1 of rotor rotation, and the acceleration k of rotor is G1 = ΔG + G0, where ΔG is the change in rotational speed, ΔG = kt1; and G0 is the initial rotational speed, which is 0, i.e., G1 = kt1, t1 = G1 / k. The value of the acceleration k is a constant; The value of acceleration k can be calculated using Formula 1; Formula 1: k is the acceleration, t1 is the time required for the rotational speed to reach the set rotational speed G1, dt is the minute increment of time t, and P is the total number of rotations of the rotor. Therefore, by inputting the set rotational speed G1 and acceleration k into the control system, the rotational speed of the variable frequency brake motor can be controlled to reach the set rotational speed G1 when the real-time number of revolutions of the variable frequency brake motor reaches 20% of the total number of revolutions. The constant speed phase is the first 20%-80% of the number of rotations P. During the constant speed phase, the speed G1 of the variable frequency brake motor remains constant. The duration of the constant speed phase is t2, where t2 = 60%P / G1, p is the total number of rotations, and G1 is the set speed. The deceleration phase is 80%-100% of the number of rotations P. During the deceleration phase, the speed of the variable frequency brake motor is uniformly reduced to the threshold A. The formula for calculating the uniform decrease in rotational speed is G = G1 - k(t - t1 - t2), where t is the time for the rotor to rotate, t1 is the time required for the rotational speed G to reach the set rotational speed G1, t2 is the duration of the uniform speed phase, and t - t1 - t2 is the duration of the deceleration phase. G is the rotational speed, G1 is the set rotational speed, and k is the acceleration. The threshold A is the rotational speed at which the rotor can be stopped immediately by the braking device.

3. The precise positioning method for a robotic arm based on a variable frequency brake motor as described in claim 1, characterized in that: The specific details of the positioning algorithm are as follows: Establish perpendicular constraints from a point to a plane; The equation of the plane is ax + by + cz + d = 0; The coefficients a, b, and c form an array that represents the normal vector of the plane; Convert the target location points into an array (X1, Y1, Z1), representing the point vector; The plane is perpendicular to the line containing the target position and the initial position. Calculate the dot product of the point vector and the normal vector, and add the constant term d in the plane equation. The dot product N = X1a + Y1b + Z1c + d. If the absolute value of the dot product N is less than the threshold B, it means that the target position is perpendicular to the plane, and the dot product N returns the F(x, y, z) constraint equation system. If the absolute value of the dot product N is greater than the threshold B, it means that the target position is not perpendicular to the plane, and the dot product N does not return the F(x, y, z) constraint equation system. The threshold B is a value that approaches 0; Establish distance constraints: The operating system measures the distance Q between the target position and the initial position based on the position sensor. Determine whether the distance Q between the target position and the initial position is equal to the distance S. If Q = S, return the F(x, y, z) constraint equation system. If Q ≠ S, do not return the F(x, y, z) constraint equation system. Combine these two constraints into a system of constraint equations F(x, y, z) and return it. The constraint equations F(x, y, z) are as follows: Establish the Jacobian matrix J of the constraint equation system; The elements of the Jacobian matrix J are approximated by applying small perturbations to each variable x, y, z, increasing dx, dy, and dz respectively, and then calculating the ratio of the change in function value to the perturbation value. The Jacobian matrix J is The dx, dy, and dz are the minute changes in x, y, and z, respectively, and dx, dy, and dz are all 0.00001. The position of the predetermined point is derived iteratively based on the current position and the direction of movement using the Newton-Raphson method. The predetermined point is the location where the robotic arm will eventually stop, which is deduced by the operating system based on the current position and direction of movement of the robotic arm. Set the initial point to (0,0,0), and substitute the value of (x,y,z) into the F(x,y,z) constraint equations and the Jacobian matrix J according to the position of the robotic arm (x,y,z); Set the maximum number of iterations MAX, and substitute the obtained values ​​of the F(x, y, z) constraint equations and the Jacobian matrix J into the iterative formula, which is as follows: thing(x,y,z) n+1 =vec(x,y,z) n –J*(-1)【vec(x,y,z) n 】*vec(F)【vec(x,y,z) n 】; vec(x, y, z) n Let vec(x, y, z) represent the vector value at step n. n+1 Let vec(F) represent the vector value at step n+1 of vector (x, y, z). n 】 represents the value of the vector (x, y, z) at the nth step in the equation F(x, y, z), J*(-1)【vec(x, y, z) n 】 represents the Jacobian matrix J[vec(x, y, z) n The inverse matrix of 】; The obtained vec(x, y, z) n+1 is compared with a threshold value B. If vec(x, y, z) n+1 < B, the coordinate point corresponding to the obtained vec(x, y, z) n+1 is a predetermined point; if vec(x, y, z) n+1 If B is selected, the predetermined point cannot be obtained, and the operating system will report an error.

4. The precise positioning method for a robotic arm based on a variable frequency brake motor as described in claim 1, characterized in that: The specific details of step S4 are as follows: S41: The robotic arm rotates itself by an angle a; The robotic arm includes a rotary joint, and the robotic arm achieves rotation by adjusting the rotary joint; 'a' represents the angle between the initial position and the target position. S42: The robotic arm begins to move from the initial position to the target position along angle a; During the movement of the robotic arm, the position sensor collects the position points (X, Y, Z) of the robotic arm in real time. According to the positioning algorithm, the control system continuously calculates the coordinates of the predetermined point. When the coordinates of the predetermined point are inconsistent with the coordinates of the target position point, the control system reports an error and the robotic arm stops moving; if the coordinates of the predetermined point are consistent with the coordinates of the target position point, the robotic arm continues to move.

5. The precise positioning method for a robotic arm based on a variable frequency brake motor as described in claim 1, characterized in that: The specific content of step S5 is as follows: S51: When the robotic arm reaches the target position, it outputs the corresponding power according to the weight of the goods to grab them. The end of the robotic arm is equipped with a weighing device, which can accurately weigh the weight of the goods it grasps. When the robotic arm comes into contact with the goods, it determines the mass m of the goods, and the variable frequency brake motor outputs the corresponding power L according to the mass of the goods; The power L ensures that the robotic arm can firmly grasp the goods; S52: The robotic arm moves the goods to the designated location.

Citation Information

Patent Citations

  • Hystersis variable frequency slings cable reeler

    CN2789205Y

  • Method and device for controlling redundant robot arm

    WO2018107851A1