A method and system for motion balance control of a robot
By applying perturbation signals to robot joints to construct an energy feature set, clustering and graph algorithms are used to identify joint groups and optimize energy distribution. This solves the problem of uneven energy distribution in robot joints and improves posture stability and motion accuracy.
Patent Information
- Application Number
- CN202511794593.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-02
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2045-12-02
AI Technical Summary
In robot motion, the asymmetry of the joint friction-backlash system leads to uneven energy consumption, affecting the stability and efficiency of balance control.
By applying perturbation signals of different frequencies to the robot joints, an energy feature set is constructed. Cluster analysis and graph algorithm traversal are used to identify joint groups. A genetic algorithm is then used to optimize the energy allocation ratio and generate joint energy allocation instructions.
This achievement optimizes energy distribution between robot joints, improving posture stability and motion accuracy in dynamic environments.
Smart Images

Figure CN121254886B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of motion balance control, and more particularly, to a robot motion balance control method and system. BACKGROUND
[0002] Robot motion balance control refers to the technology that, through sensor perception, algorithm calculation and actuator action coordination, the robot maintains stability and avoids tilting or imbalance during motion. The core goal is to ensure that the robot's center of gravity is always above the support surface when stationary, walking or performing complex tasks, while adapting to external disturbances and terrain changes. Balance control is usually achieved by relying on multiple sensors such as accelerometers, gyroscopes, force sensors and vision systems to collect real-time posture, speed and contact force information; then through dynamic modeling, state estimation and control algorithms (such as PID control, model predictive control, zero moment point control, etc.) to calculate the required joint torque or wheel speed; finally, the execution mechanism accurately executes to adjust the body posture or foot gait, achieving balance, stable walking or rapid response to external force disturbances.
[0003] However, in robot motion, high-frequency jitter dissipates a certain amount of energy through friction and backlash in the joints. This energy loss itself is an inefficient consumption that does not directly contribute to the robot's motion or balance control. However, due to the asymmetry of friction coefficients and backlash distribution in the joint mechanical structure, different joints and different directions have different energy responses to the same high-frequency input, leading to uneven energy consumption among joints. This imbalance not only reduces overall energy utilization efficiency, but also can cause local overheating, accelerated mechanical wear or motion instability, especially when performing delicate actions or rapid dynamic tasks, the non-uniform energy distribution can amplify posture deviation and jitter, making it difficult for the robot to maintain the ideal balance state. To solve the above problems, the present application provides a solution. SUMMARY
[0004] In order to overcome the above-mentioned defects of the prior art, the embodiments of the present application provide a robot motion balance control method and system, which identifies the energy consumption differences of each joint in different directions through joint grouping and optimized energy distribution strategy, to solve the problem that due to the asymmetry of the friction-backlash system, energy consumption is not balanced among different joints, making it difficult for the robot to maintain the ideal balance state.
[0005] To achieve the above-mentioned purposes, the present application provides the following technical solutions:
[0006] The motion balance control method of the robot comprises the following steps: a first disturbance signal of different frequencies is applied to each joint of the robot to construct a first joint energy feature set; cluster analysis is performed on the first joint energy feature set to obtain a plurality of energy consumption distribution difference values; a graph structure is constructed based on the plurality of energy consumption distribution difference values, and a graph algorithm is used to traverse the graph structure to obtain a first joint group; the energy consumption distribution characteristics of the first joint group are obtained, and the first joint group is sorted based on the energy consumption distribution characteristics; a second disturbance signal of different frequencies is assigned to the joints of the first joint group according to the sorting result to obtain a second joint group; and a genetic algorithm is used to iteratively optimize the joint signal assignment proportion of the second joint group to obtain an optimal joint energy distribution proportion and apply the optimal joint energy distribution proportion to a preset controller to output a joint energy distribution instruction.
[0007] In a preferred embodiment, the step of applying a first disturbance signal of different frequencies to each joint of the robot to construct a first joint energy feature set specifically comprises: collecting joint motion data of the robot in an initial state, and generating a plurality of first disturbance signals of different frequencies based on a preset frequency range; sequentially applying the plurality of first disturbance signals of different frequencies to each joint of the robot, and collecting energy response data of each joint in real time; performing time-frequency analysis on the energy response data of each joint to obtain an energy distribution characteristic vector of each joint at different frequencies; and integrating the energy distribution characteristic vectors to construct the first joint energy feature set.
[0008] In a preferred embodiment, the step of performing cluster analysis on the first joint energy feature set to obtain a plurality of energy consumption distribution difference values specifically comprises: using a clustering algorithm to cluster all energy distribution characteristic vectors in the first joint energy feature set to obtain a plurality of energy consumption clusters; calculating a center vector of each energy consumption cluster, and calculating the Euclidean distance between each center vector to obtain a first energy consumption distribution difference value; calculating the intra-cluster variance of the energy distribution characteristic vectors in each energy consumption cluster, and adjusting the first energy consumption distribution difference value based on the intra-cluster variance to obtain a plurality of energy consumption distribution difference values.
[0009] In a preferred embodiment, the step of constructing a graph structure based on the plurality of energy consumption distribution difference values, and traversing the graph structure using a graph algorithm to obtain a first joint group specifically comprises: constructing a graph structure by taking each energy consumption cluster as a node and taking the plurality of energy consumption distribution difference values as edge weights between nodes; traversing all nodes in the graph structure using a graph traversal algorithm to obtain a plurality of connected components; constructing a subgraph for each of the plurality of connected components to obtain a plurality of first subgraphs; identifying the energy consumption distribution of the plurality of first subgraphs using a community discovery algorithm to obtain a second subgraph, and taking the second subgraph as the first joint group.
[0010] In a preferred embodiment, the energy consumption distribution characteristics of the first joint group are obtained, and the first joint group is sorted based on the energy consumption distribution characteristics, specifically: the energy consumption sequence of each joint in the first joint group in the historical motion task is extracted; the energy consumption sequence is wavelet transformed to obtain the energy consumption distribution characteristic vector of all joints; the mean vector of the energy consumption distribution characteristic vectors of all joints is calculated to obtain the group center characteristic vector; the KL divergence between the energy consumption distribution characteristic vector of each joint and the group center characteristic vector is calculated; and the joints are sorted according to the KL divergence to obtain the joint sequence.
[0011] In a preferred embodiment, the second disturbance signal of different frequencies is distributed to the joints of the first joint group according to the sorting result to obtain the second joint group, specifically: the joints of the first joint group are divided into a plurality of joint groups according to the joint sequence; the second disturbance signal of different frequencies is distributed to the plurality of joint groups according to a preset signal distribution ratio to obtain a plurality of second joint groups; joint response data of the plurality of second joint groups is collected, and joint response characteristic values are extracted; the joints in the plurality of second joint groups are screened based on the joint response characteristic values to obtain the second joint group.
[0012] In a preferred embodiment, the genetic algorithm is used to iteratively optimize the joint signal distribution ratio of the second joint group to obtain the optimal joint energy distribution ratio, specifically: the second disturbance signal frequency and amplitude of each joint of the second joint group are obtained; the second disturbance signal frequency and amplitude are used as optimization variables to construct an initial population of the genetic algorithm; the initial population is iteratively optimized through selection, crossover and mutation operations, and the optimal joint energy distribution ratio is obtained when a preset convergence condition is reached.
[0013] In a preferred embodiment, the method is applied in a preset controller to output joint energy distribution instructions, specifically: the optimal distribution ratio is converted into control parameters of each joint of the robot, the control parameters including PID gain and filter coefficient; the control parameters are loaded into a preset central motion controller of the robot, and the energy input value of each joint is dynamically adjusted according to the real-time motion state and environment data of the robot to generate joint energy distribution instructions; the joint energy distribution instructions are sent to the driver of each joint for motion balance control of the robot.
[0014] The technical effects and advantages of the motion balance control method and system of the robot of the present application are as follows:
[0015] The application applies first disturbance signals of different frequencies to each joint of the robot, collects energy response data of the joint at each frequency, and constructs a first joint energy feature set; then performs clustering analysis on the feature set, calculates energy consumption distribution difference values, and constructs a graph structure based on the difference values, identifies a first joint group by using graph traversal and community discovery algorithm; then extracts energy consumption distribution features of the first joint group, sorts by KL divergence, assigns second disturbance signals of different frequencies to the joints according to the sorting result, and selects a second joint group based on joint response features; finally, the genetic algorithm is used to iteratively optimize the signal assignment ratio of the second joint group, to obtain an optimal joint energy distribution ratio, which is converted into PID gain and filter coefficient and loaded into the central motion controller, to dynamically generate joint energy distribution instructions and issue them to the driver, to realize robot motion balance control, accurately identify and quantify the energy consumption difference of each joint, solve the high-frequency energy imbalance problem caused by friction-gear gap asymmetry, realize the optimization and balance of joint energy distribution, and improve the posture stability and motion accuracy of the robot in a dynamic environment. BRIEF DESCRIPTION OF DRAWINGS
[0016] Figure 1 A flowchart of a motion balance control method of a robot according to the present application.
[0017] Figure 2 A structure diagram of a motion balance control system of a robot according to the present application. DETAILED DESCRIPTION
[0018] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the scope of protection of the present application.
[0019] Embodiment 1, Figure 1 A motion balance control method of a robot according to the present application is given, which comprises the following steps:
[0020] S1, a first disturbance signal of different frequencies is applied to each joint of the robot to construct a first joint energy feature set;
[0021] In this example, a first disturbance signal of different frequencies is applied to each joint of the robot to construct a first joint energy feature set, specifically:
[0022] Collect joint motion data of the robot in the initial state, and generate a plurality of first disturbance signals of different frequencies based on a preset frequency range;
[0023] A plurality of first disturbance signals of different frequencies are sequentially applied to each joint of the robot, and energy response data of each joint is collected in real time;
[0024] The energy response data of each joint is subjected to time-frequency analysis to obtain an energy distribution feature vector of each joint at different frequencies;
[0025] The energy distribution feature vectors are integrated to construct a first joint energy feature set.
[0026] It should be noted that in the initial state, the robot needs to collect multiple types of data that can comprehensively reflect the joint operation and energy consumption, including joint angle or position data (from an encoder or an angle sensor), angular velocity and angular acceleration data (obtained by position differentiation or inertial sensor fusion), joint output torque or thrust data (from a torque sensor or a motor model calculation), motor current and voltage data (measured in real time by a driver), joint or motor temperature information, and energy-related data derived therefrom such as instantaneous mechanical power, electrical power, and energy consumption values within a certain time window. In addition, base inertial measurement unit data related to the overall state (such as attitude angle, angular velocity, linear acceleration), foot end or contact sensor data (for judging contact and force conditions), power bus voltage, power supply state, and the current running mode of the controller (position control, speed control, or torque control) should also be collected.
[0027] Further, first, the joint control bandwidth of the robot, the driver sampling rate, and the resonance characteristics of the mechanical structure need to be combined to determine a safe and usable frequency range. The lower limit of the low frequency is usually set to be much lower than the slowest control dynamic of the robot joint, for example, close to the frequency of static motion; the upper limit of the high frequency should be lower than the limit value of the joint closed-loop control bandwidth and maintain a certain safety margin to avoid exciting mechanical resonance or exceeding the range allowed by the sampling frequency. After determining this frequency interval, a plurality of representative frequency points can be selected within the interval, which can be equally spaced or logarithmically spaced to cover a wide frequency band. For each frequency point, a sinusoidal disturbance signal with controlled amplitude is generated, and the amplitude setting needs to ensure safety and not affect the stable operation of the joint, while being sufficient to produce observable energy response. Each disturbance signal should also set appropriate phase and duration to ensure that sufficient steady-state data can be collected for analysis.
[0028] In addition, during the experiment, the preset different frequency disturbance signals need to be applied to the joints of the robot in sequence. The application method is generally to superimpose a small disturbance on the original control input of the joint, and the remaining joints remain stationary or maintain the original state to reduce interference. When each frequency signal is applied, a smooth transition process should be used to avoid sudden changes that cause excessive impact, including a gentle rise, a constant steady state segment, and a gradual decline. At the same time, the system collects response data related to the joint in real time at a high frequency. The energy response data generally includes changes in input signals, joint positions, speeds, accelerations, torques, motor currents, motor voltages, mechanical power, and electrical power, and may also include additional information such as joint temperature, driver power consumption, contact sensors, or environmental disturbances. The energy response data is essentially the dynamic performance of the joint under different frequency disturbances in terms of energy input and consumption, which is used to reveal the energy characteristics at different frequencies.
[0029] When the energy response data is collected, a time-frequency analysis method needs to be used to extract the energy distribution characteristics at different frequencies. Common methods include short-time Fourier transform, wavelet transform, or multi-window power spectrum estimation, which can reflect the energy changes in both time and frequency dimensions. In the analysis process, for each disturbance frequency interval, the energy characteristics of the steady state part are extracted, and the corresponding energy amplitude, phase delay, frequency band energy ratio, signal-to-noise ratio, and response stability index are calculated. These characteristics are unified and arranged in vector form, forming the energy distribution characteristics of the joint at all disturbance frequencies. This characteristic vector comprehensively describes the energy response law of the joint in the frequency dimension, providing a data basis for subsequent clustering and grouping.
[0030] Finally, the energy distribution characteristic vectors obtained at different frequencies for each joint need to be unified, arranged, and integrated to construct a complete first joint energy characteristic set. The specific method is to arrange the characteristic vectors of each joint in the same frequency order and perform unified scale normalization to ensure that the data of different joints are comparable under the same standard. If there is missing data at some frequency points, interpolation or confidence weighting can be used to complete it. After processing, all joint energy distribution characteristic vectors are stored in the form of a matrix or a database, with each row corresponding to the characteristics of a joint and each column corresponding to a characteristic parameter at a certain frequency. The first joint energy characteristic set constructed in this way can comprehensively describe the energy consumption characteristics of all joints at multiple frequencies, laying a foundation for subsequent clustering analysis and group division.
[0031] S2, performing clustering analysis on the first joint energy characteristic set to obtain a plurality of energy consumption distribution differences;
[0032] In this example, the first joint energy characteristic set is subjected to clustering analysis to obtain a plurality of energy consumption distribution differences, specifically:
[0033] cluster all the energy distribution feature vectors in the first joint energy feature set using a clustering algorithm to obtain a plurality of energy consumption clusters;
[0034] calculate the center vector of each energy consumption cluster, and calculate the Euclidean distance between each center vector to obtain a first energy consumption distribution difference value;
[0035] calculate the intra-cluster variance of the energy distribution feature vectors in each energy consumption cluster, and adjust the first energy consumption distribution difference value based on the intra-cluster variance to obtain a plurality of energy consumption distribution difference values.
[0036] It should be noted that after the construction of the first joint energy feature set is completed, a clustering analysis method is needed to classify the energy distribution features of the joints. First, a suitable clustering algorithm is selected, and all joint energy distribution feature vectors are taken as input samples for clustering, thereby obtaining a plurality of energy consumption clusters, each cluster representing a group of joints with similar energy consumption characteristics. Next, in order to depict the differences between these clusters, the center vector of each cluster needs to be calculated, i.e., the average or weighted average of all joint feature vectors in the cluster, and then the difference between different cluster center vectors is further calculated. The commonly used method is based on the distance measurement between vectors, such as Euclidean distance, which is used to measure the energy difference between clusters. In addition to the inter-cluster difference, the intra-cluster consistency also needs to be evaluated, so the intra-cluster variance is calculated to reflect the tightness of the energy distribution within the cluster. Finally, the intra-cluster variance and the inter-cluster difference are combined to adjust the original difference value, thereby obtaining a plurality of distribution difference values that more truly reflect the energy consumption difference. These difference values will be important inputs for subsequent graph structure construction.
[0037] S3, based on a plurality of energy consumption distribution difference values, constructing a graph structure, and using a graph algorithm to traverse the graph structure to obtain a first joint group;
[0038] In this example, based on a plurality of energy consumption distribution difference values, a graph structure is constructed, and a graph algorithm is used to traverse the graph structure to obtain a first joint group, specifically:
[0039] Each energy consumption cluster is taken as a node, and a plurality of energy consumption distribution difference values are taken as edge weights between nodes to construct a graph structure;
[0040] All nodes in the graph structure are traversed using a graph traversal algorithm to obtain a plurality of connected components;
[0041] A plurality of subgraphs are constructed for a plurality of connected components to obtain a plurality of first subgraphs;
[0042] The community discovery algorithm is used to identify energy consumption distribution of a plurality of first subgraphs, to obtain second subgraphs, and the second subgraphs are taken as first joint groups.
[0043] It should be noted that each energy consumption cluster is regarded as an independent node in the graph, and the node carries the central feature vector of the cluster and the joint information in the cluster as the node attribute. Then, the energy consumption distribution difference obtained in the previous step is taken as the weight of the edge, which is used to depict the energy difference between different clusters. A weighted edge can be established between each two clusters according to the difference, and if the difference exceeds a certain threshold, the connection can be selected not to be connected, so as to obtain a sparse graph.
[0044] After the graph structure is constructed, a graph traversal algorithm such as depth-first search (DFS) or breadth-first search (BFS) needs to be used, starting from an arbitrary node, gradually accessing all nodes connected to the node according to the connection relationship of the edge, and recording the visited nodes. After the traversal ends, a complete node set is obtained, which is a connected component, indicating a group of nodes that can reach each other through paths in the graph structure. Then, a node that has not been visited is selected as the starting point to continue the traversal until all nodes are covered, and finally a plurality of connected components are obtained. Here, the meaning of the connected component is a complete joint cluster set associated by the energy consumption difference, which reflects the close relationship of the joint group in the energy distribution characteristics.
[0045] Further, after obtaining a plurality of connected components, the structure inside each connected component needs to be further extracted to form a corresponding subgraph. The specific method is as follows: for each connected component, all nodes contained therein and the edges between the nodes are retained, and they are separated from the original large graph to form an independent subgraph. In this way, each subgraph only contains the energy consumption clusters related to the connected component and the difference connection relationship between them. The construction of the subgraph can avoid the interference between different connected components, so that the subsequent community discovery or further division is only carried out for locally closely related clusters, improving the accuracy and computational efficiency of energy distribution identification.
[0046] Finally, after obtaining each subgraph, a community detection algorithm is needed to further partition the energy distribution structure in the subgraph. The specific steps are: first, select a suitable community detection method, such as the modularity maximization-based algorithm (Louvain algorithm), spectral clustering method or label propagation method, and divide the nodes in the subgraph according to the edge weight of the energy consumption difference. The algorithm automatically finds the node set that is closely connected in edge weight, has high internal similarity and large external difference, which is regarded as a community. Then, the divided community is regarded as a "second subgraph", which is more uniform and closer inside than the original subgraph, reflecting the distribution characteristics of energy consumption. Finally, the joint clusters corresponding to the nodes in these second subgraphs are defined as "first joint groups". After this processing, each first joint group represents a set of joints that are highly similar in energy consumption mode and can jointly act on balance control of movement.
[0047] S4, obtaining energy consumption distribution characteristics of the first joint group and sorting the first joint group based on the energy consumption distribution characteristics;
[0048] In this example, the energy consumption distribution characteristics of the first joint group are obtained, and the first joint group is sorted based on the energy consumption distribution characteristics, specifically:
[0049] Extracting the energy consumption sequence of each joint in the first joint group in the historical movement task;
[0050] Performing wavelet transform on the energy consumption sequence to obtain the energy consumption distribution characteristic vector of all joints;
[0051] Calculating the mean vector of the energy consumption distribution characteristic vectors of all joints to obtain the group center characteristic vector;
[0052] Calculating the KL divergence between the energy consumption distribution characteristic vector of each joint and the group center characteristic vector;
[0053] Sorting the joints according to the KL divergence to obtain the joint sequence.
[0054] It should be noted that after obtaining the first joint group, the joint operation data of the robot in the past when performing different movement tasks (such as walking, turning, maintaining balance or load movement) needs to be traced back, and the energy consumption situation needs to be extracted. The specific method is: first, obtain the power consumption data of each joint from the robot historical control log or sensor record, which usually includes joint driving current, voltage, torque and angular velocity parameters; then, calculate the electric power or mechanical power and perform cumulative or smoothing processing in the time dimension to obtain continuous energy consumption curves. The numerical sequence formed by arranging the obtained curves in chronological order is the energy consumption sequence, which truly reflects the energy input and consumption of a joint over time during the completion of a movement task.
[0055] In addition, the difference between the first disturbance signal and the second disturbance signal mainly lies in the function, distribution and application stage: the first disturbance signal as an initial exploration signal is mainly used for comprehensive scanning of all joints of the robot in a preset frequency range, and the energy response characteristics of different joints at each frequency are obtained through uniform or distributed frequency input, so as to construct a first joint energy feature set and provide data support for subsequent clustering modeling; and the second disturbance signal is a refined signal allocated according to the importance and energy distribution difference of the joints after the first joint group is obtained and sorted, the frequency range is more concentrated, and the allocation ratio is more differentiated, the purpose is to highlight the role of key joints in balance control.
[0056] Further, in order to more accurately depict the change pattern of energy consumption on different time scales, wavelet transform needs to be performed on the energy consumption sequence. The specific method is: selecting a suitable wavelet basis function (such as Daubechies wavelet), and performing multi-scale decomposition on the energy consumption sequence to decompose the original time series into energy distribution components of different frequency bands. After decomposition, energy features in high frequency band, medium frequency band and low frequency band can be obtained, which can reflect fast transient energy fluctuation, periodic energy mode and overall energy trend respectively. Arranging and numerizing the feature coefficients at different scales forms the energy consumption distribution feature vector of the corresponding joint. Finally, each joint corresponds to a feature vector, which can be used for subsequent group comparison and sorting.
[0057] Among them, the group center feature vector is a comprehensive representative to depict the energy consumption mode of the whole first joint group. Its generation method is: collect the energy consumption distribution feature vectors of all joints in the joint group one by one, and calculate the mean value in the same dimension to form a new vector. This mean vector can be regarded as the average energy feature of the group, that is, it comprehensively reflects the typical distribution of the group in different energy frequency bands. By comparing with the group center feature vector, the similarity or difference degree of a joint to the overall energy mode of the group can be measured, thereby providing a standard for subsequent sorting.
[0058] Finally, after obtaining the group center eigenvector, the difference degree of each joint with the group center needs to be calculated. The specific method is as follows: first, normalize the energy consumption distribution eigenvector of each joint with the group center eigenvector, so that they can be regarded as probability distributions. Then, the KL divergence is used to measure the information difference between the two distributions. The smaller the value of the KL divergence, the closer the energy distribution mode of the joint to the group center; the larger the value, the greater the difference between the joint and the whole. Then, all joints are sorted according to the size of their KL divergence: first, collect the KL divergence values of all joints; second, arrange them in order from small to large; third, output the sorting result as a joint sequence. The joint sequence obtained in this way can clearly show which joints are closer to the whole group in terms of energy consumption mode and which joints are more different, providing a basis for subsequent signal allocation.
[0059] S5, according to the sorting result, allocating second disturbance signals of different frequencies to the joints of the first joint group to obtain a second joint group;
[0060] In this example, according to the sorting result, second disturbance signals of different frequencies are allocated to the joints of the first joint group to obtain a second joint group, specifically:
[0061] According to the joint sequence, the joints of the first joint group are divided into a plurality of joint groups;
[0062] The second disturbance signals of different frequencies are allocated to the plurality of joint groups according to a preset signal allocation ratio to obtain a plurality of second joint groups;
[0063] Collecting joint response data of the plurality of second joint groups and extracting joint response characteristic values;
[0064] Based on the joint response characteristic values, the joints in the plurality of second joint groups are screened to obtain a second joint group.
[0065] It should be noted that after sorting the first joint group, a joint sequence arranged according to the difference degree of energy consumption characteristics and the group center is obtained. According to this sequence, the joints can be divided into a plurality of joint groups according to a preset grouping rule, for example, each group contains a plurality of consecutive joints or the number of joints is evenly distributed according to the energy difference. The goal of division is to put joints with similar energy consumption modes or close to the sorting into the same group, so as to facilitate subsequent targeted allocation and optimization processing of second disturbance signals of different frequencies, while ensuring that the energy response characteristics of the joints in each group have a certain uniformity, thereby improving the effect and control accuracy of subsequent optimization.
[0066] Further, on the basis of the completed joint groups, the second disturbance signal needs to be distributed to each group according to a preset ratio. The specific method is: first, determine the weight or importance of each joint group in the overall joint group, and then distribute the frequency and amplitude of the second disturbance signal to the joints in the group according to the weights, to ensure that the joints in different groups receive disturbance signals that meet the optimization design principles in total energy and frequency coverage. In this way, each joint group receives complete disturbance signal input, forming several second joint groups, providing a basis for further collecting response data and screening key joints, while ensuring that the disturbance signal can fully act on the joint regions that need to be optimized in energy consumption characteristics.
[0067] Further, the joint response data refers to the actual movement and energy consumption performance of the joint after receiving the second disturbance signal, usually including joint angle, speed, torque, current, voltage, and instantaneous or cumulative energy values calculated from these parameters. The specific method of extracting joint response characteristic values is: performing time series analysis and numerical processing on the collected response data, such as calculating the energy response amplitude, power consumption, fluctuation characteristics or spectral features of the joint at different frequencies, to obtain indicators that reflect the sensitivity of the joint to the disturbance signal and the energy utilization efficiency. These indicators are the joint response characteristic values, which are used for subsequent screening and optimization.
[0068] Finally, after obtaining the response characteristic values of each joint, the joints in the second joint group need to be evaluated and screened. The specific method is: first, calculate the importance or contribution of each joint in control balance and energy utilization according to the characteristic values, and then select the joints that have the most significant effect on group energy distribution and motion balance according to the preset threshold or ranking rules, and remove the joints with lower contribution or unstable response. By repeating this screening process for all second joint groups, the selected key joints in each group are combined to form the final second joint group, which will be used as the object of the optimization algorithm to further determine the optimal joint energy distribution ratio and achieve efficient motion balance control.
[0069] S6, using a genetic algorithm to iteratively optimize the joint signal distribution ratio of the second joint group, to obtain the optimal joint energy distribution ratio and apply it to the preset controller to output joint energy distribution instructions.
[0070] In this example, a genetic algorithm is used to iteratively optimize the joint signal distribution ratio of the second joint group to obtain the optimal joint energy distribution ratio, which is:
[0071] Obtain the second disturbance signal frequency and amplitude of each joint of the second joint group;
[0072] Take the second disturbance signal frequency and amplitude as optimization variables to construct the initial population of the genetic algorithm;
[0073] The initial population is iteratively optimized through selection, crossover, and mutation operations. When the preset convergence condition is met, the optimal joint energy allocation ratio is obtained.
[0074] It should be noted that in the optimization process of the genetic algorithm, the frequency and amplitude of the second perturbation signal are set as core optimization variables. Specifically, the process is as follows: First, each joint belonging to the second joint group is assigned a gene encoding unit, and each gene unit contains parameters of the frequency and amplitude of the second perturbation signal corresponding to that joint. Then, according to a preset encoding method (such as real number encoding or binary encoding), the parameters of all joints are combined to form a complete chromosome, which represents a joint energy allocation scheme. Based on this, several different chromosomes are randomly generated within the parameter range to form the initial population of the genetic algorithm. This initial population contains a variety of possible combinations of joint signal allocation ratios, providing diverse candidate structures for subsequent iterative optimization.
[0075] Furthermore, during the iterative optimization process, each individual in the initial population is first evaluated based on the fitness function, which can be measured by indicators such as the robot's energy utilization efficiency and balance stability in simulated or actual motion. Then, a selection operator is used to retain individuals with high fitness to the next generation with a higher probability, ensuring the transmission of excellent genes. On this basis, a crossover operator is used to recombine gene segments from two or more parent chromosomes to generate new individuals, thereby exploring new parameter combinations. At the same time, a mutation operator is introduced to randomly perturb individual genes (i.e., the frequency or amplitude parameters of a certain joint) to increase the diversity of the population and avoid getting trapped in local optima. This selection, crossover, and mutation process is executed cyclically until the preset convergence conditions are met, such as the upper limit of the number of iterations, the population fitness change tending to stabilize, or the desired balance control performance index being reached. At this point, the individuals that are finally retained represent the optimal joint energy allocation ratio, which will be used in the controller to achieve the best energy allocation scheme for robot motion balance.
[0076] In this example, it is applied to the preset controller to output joint energy distribution commands, specifically:
[0077] The optimal allocation ratio is converted into control parameters for each joint of the robot, including PID gain and filter coefficients.
[0078] The control parameters are loaded into the robot's preset central motion controller, and the energy input value of each joint is dynamically adjusted according to the robot's real-time motion status and environmental data to generate joint energy distribution instructions.
[0079] The joint energy distribution command is sent to the actuator of each joint to control the robot's motion balance.
[0080] It should be noted that after obtaining the optimal joint energy distribution ratio, it needs to be converted into parameters that can be actually used for the controller, which mainly include the gain and filter coefficient of the PID controller. The specific method is: according to the energy proportion and frequency response characteristics of each joint in the optimal scheme, the PID gain parameters of the joint are adjusted, wherein P (proportional gain) determines the amplitude of the joint deviation response, I (integral gain) is used to eliminate steady-state error, and D (derivative gain) is used to suppress rapid oscillation of joint movement; At the same time, in order to reduce the influence of high-frequency noise on control, a filter coefficient is also set to smooth the input signal or output control signal, so as to ensure that the joint energy input is smooth and meets the dynamic requirements. In this way, the energy distribution ratio is quantized into specific control gain and filter parameters of each joint, so that the controller can adjust the energy distribution according to the optimization result.
[0081] In addition, after setting the control parameters, these parameters need to be loaded into the control channel of the robot central motion controller. During the loading process, the PID gain and filter coefficient of each joint are written into the joint control module of the controller, so that the controller can output the corresponding control signal according to the optimized proportion in real-time motion. Subsequently, the central controller will continuously acquire the current joint position, speed, torque of the robot and the data from the environment sensor (such as ground contact, obstacle or load state), and dynamically calculate the required energy input value of each joint combined with the optimal distribution ratio and the current state. In this process, the controller will continuously adjust the joint energy distribution according to the real-time feedback to generate executable joint energy distribution instructions, ensuring that the robot maintains balance under different motion tasks and environmental conditions.
[0082] Finally, the generated joint energy distribution instructions are issued to the driver of each joint through the communication bus or control interface, and the driver receives the instructions and adjusts the motor current, output torque or execution speed according to the specified energy input value, so as to realize the actual motion control of the joint. During the motion process, the driver will continuously execute the control command and return the feedback data to the central controller, so that the controller can make closed-loop adjustment to the joint energy input. Through this closed-loop control, the energy input of each joint is consistent with the optimal distribution ratio, and external disturbances and environmental changes are automatically compensated according to the real-time state, so as to realize the overall motion balance control of the robot, including standing stability, walking posture adjustment and action energy consumption optimization management.
[0083] Embodiment 2, Figure 2 A motion balance control system of a robot is given, which includes a signal generation module, a clustering analysis module, a joint traversal module, a joint sorting module, a signal distribution module and a control output module:
[0084] The signal generation module is configured to apply a first disturbance signal of different frequencies to each joint of the robot to construct a first joint energy feature set.
[0085] The clustering analysis module is configured to perform clustering analysis on the first joint energy feature set to obtain a plurality of energy consumption distribution difference values.
[0086] The joint traversal module is configured to construct a graph structure based on the plurality of energy consumption distribution difference values, and perform traversal on the graph structure by using a graph algorithm to obtain a first joint group.
[0087] The joint sorting module is configured to obtain energy consumption distribution features of the first joint group, and sort the first joint group based on the energy consumption distribution features.
[0088] The signal distribution module is configured to distribute a second disturbance signal of different frequencies to the joints of the first joint group according to the sorting result to obtain a second joint group.
[0089] The control output module is configured to perform iterative optimization on joint signal distribution ratios of the second joint group by using a genetic algorithm to obtain optimal joint energy distribution ratios and apply the optimal joint energy distribution ratios to a preset controller to output joint energy distribution instructions.
[0090] The above embodiments can be realized wholly or partially by software, hardware, firmware, or any combination thereof. When realized by software, the above embodiments can be realized wholly or partially in the form of a computer program product.
[0091] Those skilled in the art can realize that the modules and algorithm steps of the examples described in conjunction with the embodiments disclosed herein can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are realized by hardware or software depends on the specific application and design constraints of the technical solutions. Those skilled in the art can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.
[0092] In addition, each functional module in each embodiment of the present application can be integrated in one processing module, or each module can exist physically independently, or two or more modules can be integrated in one module.
[0093] The above is merely specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in the present application, which should be covered in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
[0094] Finally: the above only for the preferred embodiments of the present application, and not for limiting the present application, any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present application, should be included in the scope of protection of the present application.
Claims
1. A motion balance control method of a robot, characterized by, The method comprises the following steps: applying a first disturbance signal of different frequencies to each joint of the robot to construct a first joint energy feature set; performing cluster analysis on the first joint energy feature set to obtain a plurality of energy consumption distribution difference values; constructing a graph structure based on the plurality of energy consumption distribution difference values, and performing graph algorithm traversal on the graph structure to obtain a first joint group; obtaining energy consumption distribution features of the first joint group, and sorting the first joint group based on the energy consumption distribution features; allocating a second disturbance signal of different frequencies to the joints of the first joint group according to the sorting result to obtain a second joint group; iteratively optimizing the joint signal allocation ratio of the second joint group by using a genetic algorithm to obtain an optimal joint energy allocation ratio and applying the optimal joint energy allocation ratio to a preset controller to output a joint energy allocation instruction.
2. The motion balance control method of a robot according to claim 1, characterized by, The method of applying a first disturbance signal of different frequencies to each joint of the robot to construct a first joint energy feature set comprises the following steps: collecting joint motion data of the robot in an initial state, and generating a plurality of first disturbance signals of different frequencies based on a preset frequency range; applying the plurality of first disturbance signals of different frequencies to each joint of the robot in turn, and collecting energy response data of each joint in real time; performing time-frequency analysis on the energy response data of each joint to obtain an energy distribution feature vector of each joint under different frequencies; integrating the energy distribution feature vectors to construct a first joint energy feature set.
3. The motion balance control method of a robot according to claim 2, characterized by, The method of performing cluster analysis on the first joint energy feature set to obtain a plurality of energy consumption distribution difference values comprises the following steps: performing clustering on all energy distribution feature vectors in the first joint energy feature set by using a clustering algorithm to obtain a plurality of energy consumption clusters; calculating a center vector of each energy consumption cluster, and calculating the Euclidean distance between each center vector to obtain a first energy consumption distribution difference value; calculating the intra-cluster variance of the energy distribution feature vectors in each energy consumption cluster, and adjusting the first energy consumption distribution difference value based on the intra-cluster variance to obtain a plurality of energy consumption distribution difference values.
4. The motion balance control method of a robot according to claim 3, characterized by, The method of constructing a graph structure based on the plurality of energy consumption distribution difference values, and performing graph algorithm traversal on the graph structure to obtain a first joint group comprises the following steps: constructing a graph structure by taking each energy consumption cluster as a node and taking the plurality of energy consumption distribution difference values as edge weights between nodes; performing graph traversal algorithm on all nodes in the graph structure to obtain a plurality of connected components; constructing a subgraph for each of the plurality of connected components to obtain a plurality of first subgraphs; performing energy consumption distribution identification on the plurality of first subgraphs by using a community discovery algorithm to obtain a second subgraph, and taking the second subgraph as the first joint group.
5. The motion balance control method of a robot according to claim 4, characterized by, The method of obtaining energy consumption distribution features of the first joint group, and sorting the first joint group based on the energy consumption distribution features comprises the following steps: extracting an energy consumption sequence of each joint in the first joint group in a historical motion task; performing wavelet transform on the energy consumption sequence to obtain an energy consumption distribution feature vector of all joints; calculating a mean vector of the energy consumption distribution feature vectors of all joints to obtain a group center feature vector; Calculate the KL divergence between the energy consumption distribution feature vector of each joint and the cluster center feature vector; Sort the joints according to the KL divergence to obtain a joint sequence.
6. The motion balance control method of a robot according to claim 5, characterized by, According to the sorting result, the second disturbance signal of different frequencies is distributed to the joints of the first joint group to obtain a second joint group, specifically: According to the joint sequence, the joints of the first joint group are divided into several joint groups; The second disturbance signal of different frequencies is distributed to the several joint groups according to the preset signal distribution ratio to obtain several second joint groups; Collect the joint response data of the several second joint groups and extract the joint response feature values; Based on the joint response feature values, the joints in the several second joint groups are screened to obtain the second joint group.
7. The motion balance control method of a robot according to claim 6, wherein The genetic algorithm is used to iteratively optimize the joint signal distribution ratio of the second joint group to obtain the optimal joint energy distribution ratio, specifically: Obtain the second disturbance signal frequency and amplitude of each joint of the second joint group; The second disturbance signal frequency and amplitude are used as optimization variables to construct the initial population of the genetic algorithm; Iteratively optimize the initial population through selection, crossover and mutation operations, and obtain the optimal joint energy distribution ratio when the preset convergence condition is reached.
8. The motion balance control method of a robot according to claim 7, characterized by, The application is applied in a preset controller to output joint energy distribution instructions, specifically: Convert the optimal distribution ratio into control parameters of each joint of the robot, including PID gain and filter coefficient; Load the control parameters into the preset central motion controller of the robot, and dynamically adjust the energy input value of each joint according to the real-time motion state and environment data of the robot to generate joint energy distribution instructions; The joint energy distribution instructions are sent to the driver of each joint for motion balance control of the robot.
9. A motion balance control system of a robot, applied to the motion balance control method of any one of claims 1-8, characterized in that, It includes a signal generation module, a clustering analysis module, a joint traversal module, a joint sorting module, a signal distribution module, and a control output module: The signal generation module is used to apply different frequency first disturbance signals to each joint of the robot to construct a first joint energy feature set; The clustering analysis module is used to perform clustering analysis on the first joint energy feature set to obtain several energy consumption distribution differences; The joint traversal module is used to construct a graph structure based on the several energy consumption distribution differences, and traverse the graph structure using a graph algorithm to obtain a first joint group; The joint sorting module is used to obtain the energy consumption distribution features of the first joint group and sort the first joint group based on the energy consumption distribution features; The signal distribution module is used to distribute the second disturbance signal of different frequencies to the joints of the first joint group according to the sorting result to obtain a second joint group; The control output module is used to iteratively optimize the joint signal distribution ratio of the second joint group using a genetic algorithm to obtain the optimal joint energy distribution ratio and apply it to a preset controller to output joint energy distribution instructions.
Citation Information
Patent Citations
Joint robot track planning method based on balanced joint energy distribution
CN107199569A
Hydraulic mechanical transmission device control method based on optimal trajectory optimization
CN119532286A