Robot motor control methods, systems, and storage media

By collecting the stator winding current signal of the motor in real time to identify the mechanical deformation process and dynamically setting the brake delay time, the problem of elastic deformation of the robotic arm and abnormal start-up when the vertical joint robot stops is solved, and the stability and safety of robot movement are improved.

CN121340229BActive Publication Date: 2026-03-06CHAODIAN (HUIZHOU) MOTOR TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511891666.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-12-16
Publication Date
2026-03-06
Estimated Expiration
2045-12-16

AI Technical Summary

Technical Problem

Existing vertical articulated robots suffer from jamming and sudden movements when stopped due to elastic deformation of the robotic arm caused by its own weight. Furthermore, existing control methods fail to effectively incorporate software timing adjustments based on the mechanical deformation state, resulting in compensation effects that are highly dependent on the load weight.

Method used

By acquiring the current signal of the motor stator winding in real time, the mechanical deformation process is identified, and the braking delay time of the electromagnetic brake is dynamically set. Combined with the difference in reverse current change, the mechanical deformation is identified from dynamic to stable transition. The braking action is precisely matched at the moment when the deformation stabilizes, and the driving force is output after monitoring that there is no rebound force during startup.

Benefits of technology

It effectively eliminates end-effector sinking and sudden jerking during startup caused by the robot arm's own weight, improving the stability and safety of robot movement, achieving precise braking compensation under different load weights, and avoiding the risk of the robot arm colliding with the worktable.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121340229B_ABST
    Figure CN121340229B_ABST
Patent Text Reader

Abstract

This invention relates to the field of industrial robots and their control technology, and particularly to a control method, system, and storage medium for a robot motor. The method includes the following steps: receiving a stop command from the robot's vertical joint; real-time acquisition of the current signal from the motor stator windings; determining the reverse current data generated by the passive rotation of the motor rotor; calculating the difference in the reverse current data within adjacent acquisition cycles; and identifying the deformation process state of the vertical joint as it transitions from a dynamic deformation stage to a stable deformation stage based on the decreasing trend of the difference. This invention identifies the joint deformation process by real-time acquisition of the motor's reverse current and dynamically sets the brake delay time to address robot arm deformation during shutdown, thereby improving joint braking accuracy, starting smoothness, and operational safety.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of industrial robots and their control technology, and in particular to a control method, system and storage medium for a robot motor. Background Technology

[0002] When existing vertical articulated robots stop, there is a 20-50ms timing difference between the electromagnetic brake and the motor's disabling. The robotic arm undergoes elastic deformation due to its own weight (e.g., the end effector sinks 2-3mm before being braked and locked). Upon restarting, the motor must first overcome the deformation rebound, causing the joint to "jam-jump" (e.g., colliding with the worktable when grasping a workpiece). Mechanically, this is a physical lag in joint deformation; software-wise, it fails to incorporate deformation feedback to adjust the braking timing.

[0003] However, existing robot motor control generally uses multi-optimized braking mechanical structures (such as dual-coil brakes) or fixed advance braking (such as issuing commands 30ms in advance), but does not utilize the mechanical deformation state reflected by the motor current. As a result, the dynamic adaptation between software timing and mechanical deformation is not covered, and the compensation effect is greatly affected by the load weight. Summary of the Invention

[0004] Therefore, it is necessary to provide a control method, system, and storage medium for robot motors to solve at least one of the aforementioned technical problems.

[0005] To achieve the above objectives, a method for controlling a robot motor includes the following steps:

[0006] Step S1: Receive the robot's vertical joint stop command, collect the current signal of the motor stator winding in real time, and determine the reverse current data generated by the passive rotation of the motor rotor.

[0007] Step S2: Calculate the difference in reverse current data within adjacent acquisition cycles, and identify the deformation process state of the vertical joint as it transitions from the dynamic deformation stage to the stable deformation stage based on the decreasing trend of the difference.

[0008] Step S3: Record the duration from the moment the stop command is received to the moment the change difference stabilizes, and set this duration as the holding delay duration of the motor magnetic brake;

[0009] Step S4: Start timing from the time the stop command is received. When the timing reaches the set brake delay time, send a brake command to the motor magnetic brake to complete the brake action.

[0010] Step S5: After receiving the robot start command, control the motor to enter the standby detection mode and monitor whether there is passive current in the motor due to the springback of the vertical joint deformation. If there is no passive current in the motor and no springback force in the vertical joint, control the motor to output driving force to drive the joint transmission structure to move.

[0011] The present invention also provides a control system for a robot motor, characterized in that it is used to execute the above-described control method for the robot motor, and the control system for the robot motor includes:

[0012] The motor current acquisition module is used to receive the robot's vertical joint stop command, acquire the current signal of the motor stator winding in real time, and determine the reverse current data generated by the passive rotation of the motor rotor.

[0013] The mechanical deformation identification module is used to calculate the difference in reverse current data within adjacent acquisition cycles. Based on the decreasing trend of the difference, it identifies the deformation process state of the vertical joint as it transitions from the dynamic deformation stage to the stable deformation stage.

[0014] The timing recording module is used to record the duration from the moment the stop command is received to the moment the change difference stabilizes, and sets this duration as the holding delay duration of the motor magnetic brake;

[0015] The brake command sending module is used to start timing from the time the stop command is received. When the timing reaches the set brake delay time, it sends a brake command to the motor magnetic brake to complete the brake action.

[0016] The drive control module is used to receive the robot start command, control the motor to enter the standby detection mode, monitor whether there is passive current in the motor due to the springback of the vertical joint deformation. If there is no passive current in the motor and no springback force in the vertical joint, the module controls the motor to output driving force to drive the joint transmission structure to move.

[0017] The present invention also provides a computer medium storing a computer program, which, when executed, implements the above-described robot motor control method.

[0018] The beneficial effects of this invention are as follows:

[0019] 1. Effectively solves the problems of elastic deformation and abnormal startup of the robotic arm when the vertical joint robot stops: By collecting the reverse current data of the motor stator winding in real time to capture the mechanical deformation-related signal, and combining the difference of reverse current change to identify the process of mechanical deformation from dynamic to stable, the braking delay time is dynamically set so that the electromagnetic brake action is accurately matched with the moment of deformation stabilization, avoiding the situation where the robotic arm is locked after sinking 2-3mm due to its own weight, thus eliminating the "stuttering-sudden movement" phenomenon caused by the motor having to overcome deformation rebound when restarting.

[0020] 2. Overcoming the limitations of existing technologies where compensation effectiveness is constrained by load weight: Unlike existing solutions that only optimize the braking mechanical structure or use a fixed advance braking method, this invention uses the difference in reverse current change to intuitively reflect the mechanical deformation state related to load weight, realizing dynamic adaptation between software control timing and mechanical deformation. It does not rely on fixed parameters (such as a fixed 30ms advance braking command), and can accurately adjust the braking timing under different load weight scenarios, significantly improving the stability and versatility of braking compensation.

[0021] 3. Ensure the smoothness of robot movement and operational safety during startup: After receiving the startup command, the motor is first controlled to enter standby detection mode to monitor whether there is passive current and rebound force caused by joint deformation and springback. Only when it is confirmed that there is no passive current and no rebound force will the motor output driving force be controlled to avoid the "sudden movement" caused by the motor overcoming deformation and springback during startup, effectively avoiding the risk of collision with the worktable when grasping the workpiece, while improving the joint movement accuracy and the safety of the operation process. Attached Figure Description

[0022] Figure 1 A flowchart illustrating the steps of a robot motor control method;

[0023] Figure 2 A schematic diagram of the structure of a vertical joint robot;

[0024] Figure 3 This is a schematic diagram of the internal structure of a robot motor;

[0025] Figure 4 This is a graph showing the relationship between the difference in reverse current and the deformation stage.

[0026] The realization of the objective, functional features and advantages of the present invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0027] The technical method of the present invention will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without inventive effort are within the scope of protection of the present invention.

[0028] Furthermore, the accompanying drawings are merely illustrative of the invention and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor methods and / or microcontroller methods.

[0029] It should be understood that although the terms "first," "second," etc., may be used herein to describe various units, these units should not be limited by these terms. These terms are used merely to distinguish one unit from another. For example, without departing from the scope of the exemplary embodiments, a first unit may be referred to as a second unit, and similarly, a second unit may be referred to as a first unit. The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items.

[0030] To achieve the above objectives, please refer to Figures 1 to 4 A method for controlling a robot motor, the method comprising the following steps:

[0031] Preferably, step S1: receive the robot's vertical joint stop command, collect the current signal of the motor stator winding in real time, and determine the reverse current data generated by the passive rotation of the motor rotor;

[0032] In one embodiment, when the robot control system receives a stop command for a vertical joint, the command uses an 8-bit binary code format, where bit 0 is the start / stop flag and bits 1-7 are the joint numbers. The system then initiates the motor stator winding current acquisition process. The current acquisition uses a Hall effect current sensor with a measurement range of ±50A, a sensitivity of 40mV / A, and a linearity error not exceeding 0.5%, to acquire current signals from the A, B, and C phase windings of the motor stator.

[0033] In another embodiment, the sensor output is connected to an analog-to-digital converter chip with a sampling rate of 860 SPS, a resolution of 0.015 mV / LSB, a sampling period of 1 ms, and a system timestamp with an accuracy of 10 μs recorded synchronously with each sample. The raw current signal is processed by an RC low-pass filter circuit, which consists of a 10 kΩ resistor and a 100 nF capacitor, with a cutoff frequency of 1592 Hz to filter out high-frequency interference.

[0034] In another embodiment, the filtered signal is conditioned by an operational amplifier circuit consisting of an in-phase amplifier. The operational amplifier has an input offset voltage of no more than 25μV, an open-loop gain of 110dB, and a gain of 10 times, thus conditioning the signal amplitude to the range of 0-4.096V to match the input requirements of the analog-to-digital converter chip.

[0035] In another embodiment, the analog-to-digital converter chip converts the analog signal into a digital signal, which is then transmitted to the main controller via a 400kHz I²C bus. The main controller operates at a frequency of 150MHz. The main controller performs a Clark transformation on the three-phase current digital signal to obtain the signal in a stationary coordinate system. By comparing the α-axis current components with the characteristics of the forward drive current before the motor stops (including current phase angle and rate of change of amplitude), the reverse current component generated by the passive rotation of the motor rotor cutting magnetic field lines is separated, and the α-axis reverse current is determined. Reverse current of the β axis Conversely, both are in units of 'A', retaining 4 decimal places, and are stored in 2MB Flash memory in chronological order of acquisition time, starting from address 0x08000000. Each data entry occupies 8 bytes, with the first 4 bytes being... Conversely, the last 4 bytes are opposite.

[0036] Please see Figure 2 A schematic diagram of a vertical articulated robot shows its core structure, key components, and functions as follows:

[0037] An acceleration detection element is installed in the middle section of the robotic arm to collect deformation acceleration and help identify the mechanical deformation stage; a laser displacement sensor is installed at the end to detect displacement during delay verification and to monitor minute displacements before startup.

[0038] In the vertical joint transmission gear set, the driving wheel is equipped with a reflective mark and the driven wheel is equipped with a light shield. A transmissive photoelectric sensor is attached to the side to trigger reverse current acquisition when the gear meshing phase is aligned. A strain gauge torque sensor is installed at the output end of the reducer to measure the self-weight torque of the robotic arm and to compensate for the brake delay time.

[0039] The base is equipped with an electric servo push rod on its side to push the robotic arm during delay verification; the base has an internal electromagnetic push rod and brake pin to detect passive current through a lock-pull action before startup; the joint is equipped with an absolute encoder as a reference for calculating the deviation angle.

[0040] Preferably, step S2: calculate the difference in reverse current data within adjacent acquisition cycles, and identify the deformation process state of the vertical joint as it transitions from the dynamic deformation stage to the stable deformation stage based on the decreasing trend of the difference.

[0041] Please see Figure 3 A schematic diagram of the internal structure of a robot motor, showing the core components and functions of the robot motor. Key structures are as follows:

[0042] The stator winding is connected to a Hall current sensor to collect current signals and separate the reverse current generated by the passive rotation of the motor rotor; the rotor is linked with the reducer, and the output shaft of the reducer is connected to a timing turntable to record the number of rotations to calculate the basic duration of the brake delay. A diffuse reflection photoelectric sensor is placed next to the turntable to store the current change difference after each rotation.

[0043] The integrated motor magnetic brake can receive tiered braking commands, first outputting 30% of the rated braking force and maintaining it for 10ms, then increasing it to 100% of the rated braking force. Its built-in Hall switch can provide feedback on the braking position signal.

[0044] Equipped with an incremental encoder, it is used to monitor joint rotation angle in dual-window acquisition mode, triggering current acquisition at 0.5° and 1.5° intervals, and is also used for positioning when driving gear rotation; a signal conditioning module is provided, which can perform RC filtering, in-phase amplification and analog-to-digital conversion on the current signal, and transmit it to the main controller after processing.

[0045] Please see Figure 4 The graph shows the relationship between the difference in reverse current and the deformation stage. The horizontal axis represents time / number of gear engagements, with nodes labeled 0, 0.10, 0.25, 0.50, 0.75, 0.80, etc.; the vertical axis represents the difference in reverse current. (Unit: A), the curve characteristics and corresponding deformation stages are as follows:

[0046] Dynamic deformation stage (horizontal axis 0-0.50 range): The increase is gradual over time / number of engagements, with each increase being at least half the magnitude of the previous increase. The ratio of the change in deformation acceleration to the change in deformation acceleration remains between 1.2 and 2.5 A / (m / s²). The product of the deviation angle change rate and the deviation angle change rate continues to increase.

[0047] Transition preparation state (horizontal axis 0.50-0.75 range): The increase was less than one-third of the previous increase for three consecutive times.

[0048] Transition to a stable phase (horizontal axis range of 0.75 to ≥0.80): The value rapidly decreases to near 0, satisfying the condition of being less than one-quarter of the initial difference in the transition preparation state and less than one-fifth of the average difference in the dynamic stage, while the change in deformation acceleration stabilizes near zero. The stable moment marked in the figure is used to record the time from receiving the stop command to this moment, serving as the base duration for the brake delay.

[0049] Optionally, the calculation of the difference in reverse current data within adjacent acquisition cycles in step S2 includes:

[0050] Mark the meshing phase in the transmission gear set of the robot's vertical joint. Each time the gear meshes to the meshing phase alignment position, a reverse current acquisition is triggered.

[0051] Calculate the absolute difference of the reverse current data collected during two consecutive alignments of the markers, and use this as the variation difference.

[0052] During the dynamic deformation stage, the difference in change increases with the number of gear meshing cycles, and the magnitude of each increase is not less than half of the previous magnitude.

[0053] When the increase in the difference of three consecutive changes is less than one-third of the previous increase, it is marked as a transitional preparatory state.

[0054] In the transition preparation state, if the difference between the two subsequent changes is less than one-quarter of the difference in the first change in the transition preparation state, and the corresponding number of gear meshing does not exceed two, then it is determined that the stable deformation stage has been entered.

[0055] In one embodiment, in the transmission gear set of the robot's vertical joint, a reflective mark with a width of 0.5 mm is set on the tooth tip of the driving gear, and a light-shielding plate is set at the corresponding meshing position of the driven gear. A transmission photoelectric sensor (the transmitting end outputs red light with a wavelength of 650 nm, and the receiving end has a response time of ≤10 μs) is installed next to the gear. When the gear meshes until the reflective mark and the light-shielding plate are completely aligned, the photoelectric sensor outputs a 5V high-level trigger signal. This signal is shaped by a Schmitt trigger (hysteresis voltage of 0.5V) and then transmitted to the main controller. After receiving the trigger signal, the main controller immediately collects the α-axis reverse current Iα-reverse and the β-axis reverse current Iβ-reverse at the current moment.

[0056] In another embodiment, the absolute difference between the reverse current data collected during two adjacent marker alignments is calculated, wherein... Axis variation components , Axis variation components The arithmetic mean of the two values ​​is taken as the difference in change. ,Right now The result is rounded to four decimal places. During the dynamic deformation stage, as the number of gear meshing cycles (k) increases, the difference in value changes. It shows an increasing trend, and the magnitude of each increase is... Must meet The initial increase Set as the first positive increment value.

[0057] In another embodiment, when the increase in magnitude is satisfied three consecutive times... , , At that time, the difference in change Marked as the first difference in the transition preparation state Preparation. In the transition preparation state, if the difference between the subsequent two data collections is... Prepare × 1 / 4 and If the number of gear meshing times from the transition preparation state mark to the current judgment time is 2 (i.e., k changes from m+2 to m+4), then the mechanical deformation of the vertical joint is determined to have entered the stable deformation stage.

[0058] Optionally, the deformation process state in step S2, which identifies the transition of the mechanical deformation of the vertical joint from the dynamic deformation stage to the stable deformation stage, includes:

[0059] When collecting reverse current data, the deformation acceleration of the vertical joint link is recorded simultaneously. The deformation acceleration is obtained through an acceleration detection element built into the middle section of the link.

[0060] Calculate the difference in variation between adjacent acquisition cycles, and simultaneously calculate the change in deformation acceleration within the corresponding cycle;

[0061] During the dynamic deformation stage, the ratio of the difference in deformation to the change in deformation acceleration remains within the first fixed range;

[0062] When the ratio exceeds the first fixed interval four times consecutively and enters the second fixed interval, and the upper limit of the second interval is half of the lower limit of the first interval, the transition judgment is initiated.

[0063] In the transition determination, if the change difference is less than one-fifth of the average difference in the dynamic stage for three consecutive times, and the change in deformation acceleration is stable near zero, the transition to the stable deformation stage is determined to be complete.

[0064] In one embodiment, when acquiring reverse current data, the deformation acceleration of the vertical joint link is recorded simultaneously. This deformation acceleration is acquired by a triaxial accelerometer built into the middle section of the link. The sensor has a measurement range of ±4g, a resolution of 14 bits, a sampling rate of 100Hz, and the output data is transmitted to the main controller via an SPI bus (communication rate of 5MHz). Each acquired deformation acceleration data includes x-axis deformation acceleration components, y-axis deformation acceleration components, and z-axis deformation acceleration components, all in m / s², with 3 decimal places retained.

[0065] In another embodiment, the difference in variation between adjacent acquisition cycles is calculated. (Calculation method as before, unit A, retain 4 decimal places), and simultaneously calculate the change in deformation acceleration within the corresponding period. , It is the absolute difference between the magnitude values ​​of the deformation acceleration vectors of two consecutive acquisitions. Specifically, the magnitude value of the deformation acceleration vector is: the square of the x-axis deformation acceleration component + the square of the y-axis deformation acceleration component + the square of the z-axis deformation acceleration component, and the square root of the sum of the three values.

[0066] Unit: m / s², rounded to 3 decimal places.

[0067] It should be noted that during the dynamic deformation phase, the ratio of the difference in deformation to the change in deformation acceleration, K = ΔI / Δa, remains within the first fixed range of 1.2-2.5A / (m / s²). When the ratio K exceeds the first fixed range four times consecutively and enters the second fixed range (the upper limit of the second fixed range is 0.6A / (m / s²), which is half of the lower limit of the first range of 1.2A / (m / s²)), a transition judgment is initiated.

[0068] It should be noted that in the transition determination, the average difference in the dynamic stage... The average is all during the dynamic deformation stage. The arithmetic mean of three consecutive samples, if All meet And the corresponding period If the deformation is stable within ±0.05 m / s² (i.e., near zero), then the mechanical deformation of the vertical joint is considered to have completed the transition to the stable deformation stage.

[0069] Optionally, the operation of determining the decreasing trend of the change difference in step S2 specifically involves:

[0070] Using the initial static position of the vertical joint as a reference, the deviation angle between the current position of the joint and the reference position is recorded synchronously each time reverse current data is collected;

[0071] Calculate the difference in change between adjacent periods, and simultaneously calculate the rate of change of the deviation angle;

[0072] During the dynamic deformation stage, the product of the difference in change and the rate of change of the deviation angle shows a continuous increase;

[0073] When the product value decreases twice consecutively, the cumulative decrease in the difference in value is recorded.

[0074] When the cumulative reduction reaches three-quarters of the maximum change difference in the dynamic stage, and the rate of change of the deviation angle drops to one-tenth of the initial rate of change, it is determined that the stable deformation stage has been entered.

[0075] If the product value increases again during the statistical process, reset the cumulative decrease and start the statistical process again.

[0076] In one embodiment, the initial static position of the vertical joint is used as a reference. This reference position is calibrated and stored during system initialization using an absolute encoder built into the joint. The stored value is a reference angle in degrees, retained to two decimal places. Each time reverse current data is acquired (acquisition period of 1 millisecond), the current angle in degrees is simultaneously obtained through the encoder, retained to two decimal places. The deviation angle is calculated by subtracting the reference angle in degrees from the current angle, also retained to two decimal places.

[0077] In another embodiment, the variation difference between adjacent periods is calculated (calculated in the same way as before, in amperes, and retained to 4 decimal places), and the deviation angle change rate is calculated simultaneously. This rate is the difference between two adjacent deviation angles divided by the acquisition period (1 millisecond, or 0.001 seconds), in degrees per millisecond, and retained to 4 decimal places. During the dynamic deformation phase, the product of the variation difference and the deviation angle change rate (in amperes per degree per millisecond, retained to 6 decimal places) continuously increases, meaning that the later product value is greater than the previous product value.

[0078] It should be noted that when the product value of the second product is less than the product value of the previous product twice consecutively, the cumulative decrease in the change difference is calculated. This is the sum of the decreases in the change difference from the previous one starting from the moment after the second decrease in the product value (only when the subsequent product value is less than the previous one is included), in amperes, rounded to four decimal places. The maximum change difference in the dynamic stage is the maximum value of the change difference within the dynamic deformation stage (in amperes, rounded to four decimal places), and the initial change rate is the first calculated rate of change of the deviation angle in the dynamic deformation stage (in degrees per millisecond, rounded to four decimal places).

[0079] It should be noted that when the cumulative decrease is not less than three-quarters of the maximum change difference in the dynamic stage, and the current deviation angle change rate is not greater than one-tenth of the initial change rate, the mechanical deformation of the vertical joint is determined to have entered the stable deformation stage; if the product value of the later one is greater than that of the previous one during the statistical process, the cumulative decrease is reset to 0 and the statistics are recalculated from that moment.

[0080] Optionally, the calculation of reverse current data within adjacent acquisition cycles in step S2 is specifically as follows:

[0081] A dual-window acquisition mode is used for reverse current data. The first window is a dynamic monitoring window, and the acquisition interval is the time corresponding to a 0.5° joint rotation. The second window is a stability prediction window, and the acquisition interval is three times that of the first window.

[0082] During the dynamic deformation stage, only the data from the first window is used to calculate the difference in change, and the difference increases in a stepwise manner.

[0083] When the change difference in the first window increases by less than half of the previous step increase twice in a row, the second window is activated for synchronous data collection.

[0084] Compare the difference between the two windows. If the difference in the second window is less than half of the difference in the first window for three consecutive times;

[0085] Furthermore, when the fluctuation range of the first window difference narrows to one-fifth of the maximum fluctuation range in the dynamic stage, it is determined that the process has transitioned from the dynamic deformation stage to the stable deformation stage.

[0086] In one embodiment, a dual-window acquisition mode is used for reverse current data. The joint rotation angle is monitored by an incremental encoder built into the joint (5000 lines resolution, quadruple frequency processing, pulse counting accuracy of 1 pulse). The angle is calculated as (cumulative number of pulses / 20000) × 360° and retained to 3 decimal places.

[0087] It should be noted that the first window is a dynamic monitoring window, and the acquisition interval is the time corresponding to a joint rotation of 0.5° (average 20 milliseconds). The acquisition is triggered by the change of encoder angle to obtain the α-axis reverse current and β-axis reverse current (the calculation method is the same as before).

[0088] The second window is a stable prediction window, with a collection interval three times that of the first window (60 milliseconds), triggered when the joint rotates 1.5°.

[0089] In another embodiment, during the dynamic deformation stage, only the data from the first window is used to calculate the change difference (the average of the absolute differences in the reverse currents of adjacent acquisitions), and the difference increases in a stepwise manner, with the stepwise increase (the difference between adjacent change differences) not less than 80% of the previous one. When the stepwise increase of the change difference in the first window is less than half of the previous one for two consecutive times, the second window is activated for synchronous acquisition, and the change difference is calculated in both windows respectively.

[0090] It should be noted that if the difference between the changes in the second window is less than half of that in the same period of the first window for three consecutive times, and the fluctuation range of the difference between the changes in the first window (the difference between the maximum and minimum values ​​in the same period) narrows to one-fifth of the maximum fluctuation range in the dynamic stage, then it is determined that the dynamic deformation stage has transitioned to the stable deformation stage.

[0091] Preferably, step S3: record the duration from the moment the stop command is received to the moment the change difference stabilizes, and set this duration as the holding delay duration of the motor magnetic brake;

[0092] Optionally, the time duration recorded in step S3 from the moment the shutdown command is received to the moment the change difference stabilizes includes:

[0093] Upon receiving the stop command, the timing turntable, which is linked to the output shaft of the joint reducer, is activated;

[0094] Each time the turntable completes one revolution, it stores the current change difference.

[0095] Detect the relative positional change of the dial pointer and the scale on the reducer housing;

[0096] When the pointer points to the same scale interval three times in a row, record the time corresponding to the number of revolutions of the turntable at that time;

[0097] Based on the reduction ratio of the reducer, the cycle time is converted into the actual brake delay base time.

[0098] In one embodiment, after receiving a stop command, a timing turntable connected to the output shaft of the joint reducer via a flat key is started. The turntable has a diameter of 50mm and 360 graduations evenly distributed on its edge (each graduation corresponds to 1°). A metal positioning hole is provided in the center of the turntable surface, and a diffuse reflection photoelectric sensor (detection distance 5-10mm, response time ≤10μs) is installed at the corresponding position on the reducer housing.

[0099] In another embodiment, the timing turntable rotates synchronously with the output shaft of the reducer. Every time the photoelectric sensor detects the positioning hole (corresponding to one rotation of the turntable), it immediately triggers the main controller to store the change difference at the current moment (in amperes, retaining 4 decimal places). The storage address starts from 0x08010000, and each data occupies 4 bytes.

[0100] It should be noted that the reducer housing has a fixed scale ring around the turntable, which is divided into 30 scale intervals (each interval corresponds to 12°). A metal pointer (5mm long and 1mm wide) is fixed on the edge of the turntable. Hall proximity switches (with a detection accuracy of ±0.5° and output high and low level signals) are installed on the housing for each interval to detect the relative position of the pointer and the scale interval in real time. When the Hall proximity switch outputs a high level signal for the same interval 3 times in a row (corresponding to the pointer pointing to the same scale interval 3 times in a row in a row), the main controller records the number of turns N (unit: turns, integer) of the turntable at this time.

[0101] For example, given that the reduction ratio of the joint reducer is 100:1, and the initial speed of the reducer output shaft after the motor stops is 10 revolutions per minute (each revolution lasts 6 seconds), what is the time corresponding to the number of revolutions of the turntable? Then, calculate the actual brake delay base time based on the reduction ratio. Unit: seconds, rounded to 3 decimal places.

[0102] Preferably, setting the brake delay time in step S3 includes:

[0103] Measure the torque value generated by the weight of the robotic arm with vertical joints;

[0104] When the torque value is greater than half of the joint's rated torque, the compensation time is increased on top of the base time.

[0105] When the torque value is less than one-quarter of the joint's rated torque, the compensation time is reduced from the base time.

[0106] The duration of torque compensation is set as the final brake delay duration.

[0107] In this embodiment, a strain gauge torque sensor installed at the output end of the vertical joint reducer measures the torque value generated by the robot arm's own weight. The sensor has a measurement range of 0-100 N·m, an accuracy of ±0.5%FS, and a sampling rate of 50 Hz. The output signal is processed by a signal conditioning module (amplification factor of 50 times and filter cutoff frequency of 50 Hz) and then transmitted to the main controller. The measured torque value of the robot arm's own weight is retained to one decimal place, and the unit is N·m.

[0108] For example, the rated torque of the vertical joint is known to be 50 N·m, half of which is 25 N·m, and one-quarter of which is 12.5 N·m. When the measured self-weight torque of the robotic arm is greater than 25 N·m, a compensation time of 0.2 seconds is added to the base brake delay time (in seconds, rounded to three decimal places); when the measured self-weight torque of the robotic arm is less than 12.5 N·m, a compensation time of 0.1 seconds is reduced from the base brake delay time; when the measured self-weight torque of the robotic arm is between 12.5 N·m and 25 N·m, the base brake delay time remains unchanged. The time adjusted by the above torque compensation is set as the final brake delay time, in seconds, rounded to three decimal places.

[0109] Preferably, the delay duration verification specifically involves:

[0110] After setting the brake delay time, the robotic arm with the vertical joint is pushed by the drive device;

[0111] Detect the displacement of the robotic arm under pushing action;

[0112] If the displacement exceeds the minimum displacement unit of the joint, extend the delay time.

[0113] Repeatedly push the robotic arm and detect the displacement until the displacement does not exceed the minimum displacement unit of the joint.

[0114] In this embodiment, after setting the brake delay time, the electric servo push rod (rated thrust 500N, speed 5mm / s, stroke 50mm) installed on the side of the vertical joint base is activated. The output end of the push rod is connected to a preset connection point in the middle of the robotic arm via a ball joint, pushing the robotic arm radially along the vertical joint with a constant thrust of 300N and a speed of 5mm / s. A laser displacement sensor (measurement range 0-50mm, resolution 0.001mm, sampling rate 100Hz) is installed at the end of the robotic arm. The sensor's transmitting end is vertically pointed to a reflector fixed to the joint bracket, detecting the displacement of the robotic arm in real time during the pushing process. The displacement is calculated as the distance change value output by the sensor, in mm, and retained to 3 decimal places.

[0115] It should be noted that the minimum displacement unit of this vertical joint is 0.01mm (corresponding to a joint rotation of 0.005°). If the detected displacement is greater than 0.01mm, the current brake delay time is extended by 0.05 seconds; then the brake action is re-executed, and the robotic arm is pushed again by the servo push rod with the same parameters, and the laser displacement sensor repeatedly detects the displacement. The above pushing, detection, and adjustment process is repeated until the displacement detected by the laser displacement sensor is less than or equal to 0.01mm, at which point the adjustment stops and the current brake delay time is confirmed to be the final value.

[0116] Preferably, step S4: start timing from receiving the stop command, and when the timing reaches the set brake delay time, send a brake command to the motor magnetic brake to complete the brake action;

[0117] Most importantly, step S4, which involves starting the timer from receiving the stop command and completing the brake-holding action, specifically involves:

[0118] The timing unit starts when the stop command is received, and at the same time records the initial residual current value of the motor stator winding.

[0119] When the timing duration reaches 90% of the set brake delay duration, the timing unit is paused and the micro-displacement detection of the vertical joint is initiated.

[0120] The real-time residual current value of the motor stator winding is collected synchronously, and the difference between the real-time residual current value and the initial residual current value is compared.

[0121] If the displacement detection result shows that the joint displacement is less than the joint minimum division value and the real-time residual current difference is less than 10% of the initial residual current value, the timing unit is restarted to continue timing.

[0122] When the timing reaches the set brake delay time, the motor controller sends a tiered brake command to the motor magnetic brake. The first-level command outputs 30% of the rated brake force and maintains it for 10ms.

[0123] After 10ms, a second-level command is sent to increase the brake force to 100% of the rated brake force;

[0124] The system receives the brake engagement signal from the motor magnetic brake and stops the timing unit after confirming that the brake action is complete.

[0125] In one embodiment, from the moment the vertical joint stop command is received, the timing unit (timing accuracy 10μs) built into the main controller starts timing, and at the same time, the Hall current sensor (measuring range ±10A, accuracy ±0.2%FS) connected to the motor stator winding collects and records the initial residual current value at this time, in amperes, and retains 4 decimal places.

[0126] In another embodiment, the set brake delay time is T (in seconds, with 3 decimal places). When the timer unit displays a time of 0.9T, the main controller sends a pause signal to stop the timer unit from timing. At the same time, the laser displacement sensor (measurement range 0-1mm, resolution 0.001mm) installed at the end of the vertical joint is activated to detect minute displacement. The sensor calculates the joint displacement by measuring the change in distance between the end of the robotic arm and the fixed reference point. The minimum division value of the joint is 0.005° (corresponding to a displacement of 0.002mm).

[0127] In another embodiment, the real-time residual current value (in amperes, with 4 decimal places) of the motor stator winding is collected synchronously by a Hall current sensor, and the residual current difference (in amperes, with 4 decimal places) between the real-time residual current value and the initial residual current value is calculated.

[0128] For example, if the joint displacement detected by the laser displacement sensor is less than 0.002 mm and the residual current difference is less than 10% of the initial residual current value, the main controller sends a restart signal to make the timing unit continue timing. When the timing unit displays a duration of T, the motor controller sends a tiered braking command to the motor magnetic brake via the CAN bus (communication rate 1 Mbps). The first-level command controls the magnetic brake to output 30% of the rated braking force (rated braking force is 500 N, i.e., output 150 N) and maintains this state for 10 ms. After 10 ms, the second-level command is sent to control the magnetic brake to increase the braking force to 100% of the rated braking force (500 N). The Hall switch built into the motor magnetic brake outputs a high-level feedback signal when the brake is in place. The main controller receives this signal and confirms that the braking action is completed, then sends a stop signal to make the timing unit stop timing.

[0129] Preferably, in step S5: after receiving the robot start command, the motor is controlled to enter the standby detection mode to monitor whether there is passive current in the motor due to the springback of the vertical joint deformation. If there is no passive current in the motor and no springback force in the vertical joint, the motor is controlled to output driving force to drive the joint transmission structure to move.

[0130] Of particular importance is that monitoring the passive current in step S5 includes the following steps:

[0131] Upon receiving the start command, the brake pin of the vertical joint is automatically inserted into the positioning hole.

[0132] When the brake pin is fully locked, the current of the first phase winding of the motor is collected.

[0133] After the brake pin is pulled out 1mm, the current of the second phase winding of the motor is collected.

[0134] After the control brake pin is fully pulled out, the current of the third phase winding of the motor is collected.

[0135] Compare the current values ​​collected in the three sampling sessions with the baseline current value when the joint is at rest;

[0136] When all three current values ​​are consistent with the reference current value, it is determined that there is no passive current.

[0137] In one embodiment, upon receiving a start command, the electromagnetic push rod (rated voltage 24V, thrust 80N, stroke 10mm, speed 2mm / s) built into the vertical joint base drives the brake pin to insert axially into the positioning hole of the joint housing. A Hall position sensor (detection distance 0-5mm, output low-level active) mounted at the end of the brake pin outputs a locking signal when the brake pin is fully inserted (insertion depth 10mm). Upon receiving the locking signal, the main controller collects the A-phase current value (in amperes) via a current sensor (measurement range ±5A, accuracy ±0.3%FS, sampling rate 200Hz) installed on the A-phase winding of the motor, retaining 4 decimal places.

[0138] In another embodiment, the electromagnetic push rod is then driven in the reverse direction to pull the brake pin out by 1 mm (the insertion depth is now 9 mm). After confirming the position with a displacement sensor (resolution 0.01 mm), the current value of the motor's B-phase winding is acquired (acquisition method is the same as for phase A, retaining 4 decimal places). The brake pin is then driven to be fully pulled out (insertion depth 0 mm), and after confirmation by the displacement sensor again, the current value of the motor's C-phase winding is acquired (acquisition method is the same as above, retaining 4 decimal places).

[0139] For example, the reference current value in the joint's static state is the drift current of the three-phase windings under no-current conditions measured during the system calibration phase. The reference current values ​​for phase A are 0.0012A, phase B is 0.0011A, and phase C is 0.0013A, with an allowable error range of ±0.0002A. The collected phase A current value is compared with the phase A reference current value, the phase B current value is compared with the phase B reference current value, and the phase C current value is compared with the phase C reference current value. If all three comparison results are within the allowable error range, it is determined that the motor has no passive current.

[0140] Of particular importance is that controlling the motor output drive force in step S5 includes the following steps:

[0141] The drive motor rotates the articulated gear by half a tooth pitch and maintains that position;

[0142] Detect the pressure sensor reading at the gear meshing point;

[0143] If the pressure value is within the normal meshing range, continue rotating one tooth pitch and hold;

[0144] Check the pressure sensor readings again to confirm engagement.

[0145] When the engagement pressure is normal twice in a row, control the motor to output the target driving force.

[0146] In one embodiment, the drive motor is a permanent magnet synchronous servo motor (rated speed 3000 rpm, rated torque 2.5 N·m), which drives the joint transmission gear set (module 2 mm, number of teeth of the drive gear 50, tooth pitch 6.2832 mm) to rotate through a reducer (reduction ratio 50:1). An absolute encoder (resolution 17 bits, accuracy ±0.01°) is installed next to the gear set for real-time positioning.

[0147] In another embodiment, the motor driver receives a command from the main controller to drive the drive gear to rotate by half a tooth pitch (3.1416mm). When the corresponding encoder feedback angle reaches 3.6° (360° / (50×2)), the driver outputs a holding torque (1.5N·m) to keep the gear in that position for 50ms.

[0148] In another embodiment, a strain gauge pressure sensor (measurement range 0-500N, accuracy ±2N, sampling rate 100Hz) is embedded at the meshing point of the driving gear and the driven gear. The meshing pressure value is collected when the gear is in the holding position, in Newtons, and retained to one decimal place. The normal meshing pressure range of this gear set is 100-300N.

[0149] For example, if the collected pressure value is within the range of 100-300N, the main controller instructs the motor to continue rotating one tooth pitch (6.2832mm), corresponding to an increase of 7.2° in the encoder feedback angle. After reaching the position, it outputs a holding torque (1.5N·m) again and holds it for 50ms. The pressure sensor then collects the engagement pressure value again. When the engagement pressure values ​​collected twice consecutively are both within the range of 100-300N, the main controller sends a target driving force command to the motor driver. The driver controls the motor to output a preset target driving force (calculated as 2.0N·m based on the load).

[0150] Therefore, the embodiments should be considered as exemplary and non-limiting in all respects, and the scope of the invention is defined by the appended claims rather than the foregoing description. Thus, all variations falling within the meaning and scope of the equivalents of the application are intended to be included within the invention.

[0151] The above description is merely a specific embodiment of the present invention, enabling those skilled in the art to understand or implement the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the present invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features of the invention herein.

Claims

1. A control method of a robot motor, characterized by, The method comprises the following steps: Step S1: receiving a vertical joint stop command of a robot, collecting current signals of a motor stator winding in real time, and determining reverse current data generated by passive rotation of a motor rotor; Step S2: calculating a change difference value of the reverse current data in adjacent collection periods, and identifying a deformation progress state of the mechanical deformation of the vertical joint from a dynamic deformation stage to a stable deformation stage according to a decreasing trend of the change difference value; Step S3: recording a time length from a time when the stop command is received to a time when the change difference value is stable, and setting the time length as a brake delay time length of a motor magnetic brake; Step S4: starting timing since the stop command is received, and sending a brake command to the motor magnetic brake when the timing time length reaches the set brake delay time length, so as to complete a brake action; Step S5: after receiving a robot start command, controlling the motor to enter a standby detection mode, monitoring whether there is passive current generated by deformation rebound of the vertical joint, and if there is no passive current and no rebound force of the vertical joint, controlling the motor to output a driving force to drive the joint transmission structure to move.

2. The control method of a robot motor according to claim 1, characterized by, In step S2, the change difference value of the reverse current data in adjacent collection periods comprises: marking an engagement phase in a transmission gear set of a vertical joint of the robot, triggering reverse current collection each time the gear engagement is aligned to the engagement phase alignment position; calculating an absolute difference value of the reverse current data collected when the adjacent two times of marking alignment as the change difference value; in the dynamic deformation stage, the change difference value increases with the increase of the gear engagement times, and each time the increase amplitude is not less than one half of the previous amplitude; when the increase amplitudes of the change difference values of three consecutive times are all less than one third of the previous amplitude, the transition preparation state is marked; in the transition preparation state, if the change difference values of the subsequent two times are both less than one fourth of the first difference value in the transition preparation state, and the corresponding gear engagement times do not exceed twice, it is determined that the stable deformation stage is entered.

3. The control method of a robot motor according to claim 1, characterized by, In step S2, the deformation progress state of the mechanical deformation of the vertical joint from the dynamic deformation stage to the stable deformation stage comprises: when the reverse current data is collected, the deformation acceleration of the vertical joint connecting rod is recorded synchronously, and the deformation acceleration is obtained through an acceleration detection element built in the middle section of the connecting rod; the change difference value of the adjacent collection periods is calculated, and the change amount of the deformation acceleration in the corresponding period is calculated; in the dynamic deformation stage, the ratio of the change difference value to the change amount of the deformation acceleration remains in a first fixed interval; when the ratio continuously exceeds the first fixed interval and enters a second fixed interval for four times, the upper limit of the second interval is one half of the lower limit of the first interval, the transition determination is started; in the transition determination, if the change difference value is less than one fifth of the average difference value in the dynamic stage for three consecutive times, and the change amount of the deformation acceleration is stable around zero, it is determined that the transition to the stable deformation stage is completed.

4. The control method of a robot motor according to claim 1, characterized by, In step S2, the operation of determining the decreasing trend of the change difference value is specifically: taking the initial static position of the vertical joint as a reference, recording the deviation angle between the current position of the joint and the reference position synchronously each time the reverse current data is collected; calculating the change difference value of the adjacent periods, and calculating the change rate of the deviation angle; The product of the change difference and the deviation angle change rate is continuously increasing in the dynamic deformation stage; When the product value decreases twice in succession, the cumulative decrease of the change difference is started to be counted; When the cumulative decrease reaches three quarters of the maximum change difference in the dynamic stage, and the deviation angle change rate decreases to one tenth of the initial change rate, it is determined that the stable deformation stage is entered; If the product value increases again during the counting process, the cumulative decrease is reset and the counting is restarted.

5. The control method of a robot motor according to claim 1, characterized by, The reverse current data in the adjacent collection period in step S2 is calculated as follows: The reverse current data is collected in a double-window mode, the first window is a dynamic monitoring window, and the collection interval is the corresponding time length of 0.5° joint rotation; the second window is a stable prediction window, and the collection interval is three times that of the first window; In the dynamic deformation stage, only the first window data is used to calculate the change difference, and the difference is increased in steps; When the change difference of the first window increases by less than half of the previous step increase twice in succession, the second window is enabled for synchronous collection; By comparing the change differences of the two windows, if the change difference of the second window is less than one half of the change difference of the first window for three times in succession; And the fluctuation range of the change difference of the first window narrows to one fifth of the maximum fluctuation range in the dynamic stage, it is determined that the stable deformation stage is transitioned from the dynamic deformation stage.

6. The control method of a robot motor according to claim 1, wherein The time length from the time when the stop command is received to the time when the change difference is stable in step S3 includes: After receiving the stop command, a timing turntable linked with the joint reducer output shaft is started; The current change difference is stored once every time the turntable rotates one revolution; The relative position change of the turntable pointer and the reducer shell scale is detected; When the pointer points to the same scale interval for three times in succession, the time length corresponding to the number of turns of the turntable at this time is recorded; According to the reducer reduction ratio, the number of turns is converted into the actual brake delay base time length.

7. The method of claim 1, wherein, The robot includes a mechanical arm, and the brake delay time length set in step S3 includes: The torque value generated by the self-weight of the mechanical arm of the vertical joint is measured; When the torque value is greater than one half of the rated torque of the joint, a compensation time length is added to the base time length; When the torque value is less than one fourth of the rated torque of the joint, the compensation time length is reduced from the base time length; The time length compensated by the torque is set as the final brake delay time length.

8. The control method of a robot motor according to claim 7, characterized by, The robot includes a driving device, and the delay time length verification is as follows: After setting the brake delay time length, the driving device is used to push the mechanical arm of the vertical joint; The displacement amount of the mechanical arm under the pushing action is detected; If the displacement amount exceeds the minimum displacement unit of the joint, the delay time length is extended; The mechanical arm is repeatedly pushed and the displacement amount is detected until the displacement amount does not exceed the minimum displacement unit of the joint.

9. A control system for a robot motor, characterized by A control method for a robot motor is provided, and the control system of the robot motor includes: A motor current collection module is configured to receive a stop command of a vertical joint of a robot, collect current signals of a motor stator winding in real time, and determine reverse current data generated by passive rotation of a motor rotor. A mechanical deformation identification module is configured to calculate a change difference of the reverse current data in adjacent collection periods, and identify a deformation progress state of the mechanical deformation of the vertical joint from a dynamic deformation stage to a stable deformation stage according to a decreasing trend of the change difference. A time recording module is configured to record a time length from a time when the shutdown instruction is received to a time when the difference value is stable, and set the time length as a brake delay time length of the motor magnetic brake; A brake instruction sending module is configured to start timing from receiving the shutdown instruction, and send a brake instruction to the motor magnetic brake to complete the brake action when the timing time length reaches the set brake delay time length. A driving control module is configured to control the motor to enter a standby detection mode after receiving a robot starting instruction, monitor whether there is a passive current generated by a vertical joint deformation rebound, and control the motor to output a driving force to drive the joint transmission structure to move if there is no passive current and no rebound force of the vertical joint. 10.A computer medium storing a computer program, the computer program being executed to implement the control method of the robot motor according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Industrial robot motor fault early warning method and system

    CN120214569A

  • Transportation robot motor torque evaluation method

    CN120348154A