Robot control method and device, electronic equipment and computer readable storage medium
Patent Information
- Application Number
- CN202611317672.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-27
- Publication Date
- 2026-10-09
AI Technical Summary
[0003]然而,不同的执行器在物理特性和动作精度上通常存在不同需求,传统控制方法在对控制机器人进行控制时,往往存在动作僵硬、缺乏自然感,无法满足仿生动作对细腻度和灵活性的要求
[0022]综上,本申请实施例中,可以获取机器人的动作序列;基于动作序列,确定机器人中参与动作的多个执行器的控制频率;其中,多个执行器中至少两个执行器的控制频率不同;按照各执行器的控制频率,向各执行器下发控制指令。本申请实施例通过获取动作序列并差异化地确定各执行器的控制频率,使得至少两个执行器以不同的频率异步接收控制指令。一方面,低频执行器能够减少不必要的指令下发,显著降低通信总线的占用率和控制器的计算负载;另一方面,允许频率差异化配置,使得机器人动作更符合生物特性,摆脱机械同步的僵硬感,进而有效提升仿生动作的协调性与自然度。
Smart Images

Figure CN122876397A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics, specifically to a robot control method, apparatus, electronic device, and computer-readable storage medium. Background Technology
[0002] In the field of robot control, especially in biomimetic robot systems, multiple actuators (such as eye, head, torso, and arm actuators) are typically included to work together to complete complex sequences of motion.
[0003] However, different actuators usually have different requirements in terms of physical characteristics and motion precision. When controlling robots, traditional control methods often result in stiff movements and a lack of naturalness, failing to meet the requirements of biomimetic movements for delicacy and flexibility. Summary of the Invention
[0004] This application provides a robot control method, device, electronic device, and computer-readable storage medium that can improve the coordination and naturalness of biomimetic movements.
[0005] In a first aspect, embodiments of this application provide a robot control method, including: Obtain the robot's action sequence; Based on the action sequence, the control frequencies of multiple actuators participating in the actions in the robot are determined; wherein, at least two of the multiple actuators have different control frequencies. Control commands are issued to each actuator according to its control frequency.
[0006] In one embodiment of this application, determining the control frequency of multiple actuators participating in the action in the robot based on the action sequence includes: Based on the action sequence, determine the action phase type of each actuator; Based on the part identification of each actuator and the type of action stage, the control frequency of each actuator is determined.
[0007] In one embodiment of this application, determining the control frequency of each actuator based on the part identifier of each actuator and the action stage type includes: Based on the part identification of each actuator, the basic frequency of each actuator is determined; Based on the action stage type of each actuator, the base frequency of each actuator is modified to obtain the control frequency of each actuator.
[0008] In one embodiment of this application, the action phase type includes at least one of an unfolding phase, a pause phase and a retraction phase, and an asymmetric return phase; The determination of the action phase type for each actuator based on the action sequence includes: Extract the motion features of each actuator from the action sequence; the motion features include at least one of motion direction, velocity value, and displacement. When the motion direction of any actuator points to the target attitude direction, the action phase type of that actuator is determined to be the deployment phase; and / or, When the speed value of any actuator is less than a speed threshold and the duration of the speed value being less than the speed threshold is greater than a duration threshold, the action phase type of that actuator is determined to be the pause phase; and / or, When the displacement of any actuator reaches its maximum value and begins to decrease, or when the displacement reaches its minimum value and begins to increase, the action phase type of that actuator is determined to be the recovery phase; and / or, When the outward motion curve and return motion curve of any actuator are inconsistent in adjacent time intervals, the action phase type of the actuator is determined to be the asymmetric return phase.
[0009] In one embodiment of this application, the action phase type includes at least one of an unfolding phase, a pause phase and a retraction phase, and an asymmetric return phase; The correction of the base frequency of each actuator based on the action phase type of each actuator includes: When the action phase type of any actuator is the aforementioned unfolding phase, the base frequency of that actuator is increased; and / or, When the action phase type of any actuator is the pause phase, the base frequency of the actuator is lowered or the control frequency of the actuator is maintained; and / or, When the action phase type of any actuator is the recovery phase, the base frequency of the actuator is decreased over time; and / or, When the action phase type of any actuator is the asymmetric return phase, the base frequency controlling the actuator's outgoing stroke is different from the base frequency controlling the return stroke, and the base frequency controlling the return stroke decreases over time.
[0010] In one embodiment of this application, after issuing control commands to each actuator according to the control frequency of each actuator, the method further includes: In response to a triggered synchronization compensation event, the synchronization compensation amount of the target actuator is determined; the target actuator is one of the multiple actuators that requires parameter compensation. Based on the aforementioned synchronization compensation amount, the control parameters in the control command corresponding to the target actuator are compensated.
[0011] In one embodiment of this application, the control parameters include at least one of phase parameters, position parameters, and velocity parameters; determining the synchronization compensation amount of the target actuator includes: Determine the parameter deviations between each actuator; the parameter deviations include at least one of phase deviation, position deviation, and velocity deviation. Based on the parameter deviations between each actuator, the synchronization compensation amount of the target actuator is determined; the synchronization compensation amount includes at least one of phase compensation amount, position compensation amount, and speed compensation amount.
[0012] Secondly, embodiments of this application provide a robot control device, the device comprising: The motion acquisition module is used to acquire the robot's motion sequence; A frequency determination module is used to determine the control frequency of multiple actuators participating in the action in the robot based on the action sequence; wherein, at least two of the multiple actuators have different control frequencies; The instruction issuing module is used to issue control instructions to each actuator according to the control frequency of each actuator.
[0013] In one embodiment of this application, the frequency determination module includes: The type determination submodule is used to determine the action stage type of each actuator based on the action sequence; The frequency determination submodule is used to determine the control frequency of each actuator based on the part identifier of each actuator and the action stage type.
[0014] In one embodiment of this application, the frequency determination submodule includes: The fundamental frequency determination unit is used to determine the fundamental frequency of each actuator based on the part identification of each actuator; The control frequency determination unit is used to correct the base frequency of each actuator based on the action stage type of each actuator, so as to obtain the control frequency of each actuator.
[0015] In one embodiment of this application, the action phase type includes at least one of an unfolding phase, a pause phase, a retraction phase, and an asymmetric return phase; the type determination submodule includes: A feature extraction unit is used to extract motion features of each actuator in the action sequence; the motion features include at least one of motion direction, velocity value, and displacement. The first type determination unit is used to determine that the action phase type of any actuator is the unfolding phase when the motion direction of any actuator points to the target posture direction; The second type determination unit is used to determine that the action phase type of any actuator is the pause phase when the speed value of any actuator is less than a speed threshold and the duration of the speed value being less than the speed threshold is greater than a duration threshold. The third type determination unit is used to determine the action phase type of the actuator as the recovery phase when the displacement of any actuator reaches its maximum value and begins to decrease, or the displacement reaches its minimum value and begins to increase. The fourth type determination unit is used to determine that the action phase type of any actuator is the asymmetric return phase when the outward motion curve and the return motion curve of any actuator are inconsistent in adjacent time intervals.
[0016] In one embodiment of this application, the action phase type includes at least one of an unfolding phase, a pause phase, a retraction phase, and an asymmetric return phase; the control frequency determination unit includes: The first adjustment subunit is used to increase the base frequency of any actuator when the action phase type of any actuator is the unfolding phase. The second adjustment subunit is used to either lower the base frequency of the actuator or maintain the control frequency of the actuator when the action phase type of any actuator is the pause phase. The third adjustment subunit is used to decrease the base frequency of the actuator over time when the action phase type of any actuator is the recovery phase. The fourth adjustment subunit is used to control the actuator's outgoing base frequency to be different from its return base frequency when the actuator's action phase type is the asymmetric return phase, and the return base frequency decreases over time.
[0017] In one embodiment of this application, the robot control device further includes: The compensation amount determination module is used to determine the synchronization compensation amount of the target actuator in response to the triggering of a synchronization compensation event; the target actuator is the actuator that needs to be compensated among a plurality of actuators; The parameter compensation module is used to compensate the control parameters in the control command corresponding to the target actuator based on the synchronization compensation amount.
[0018] In one embodiment of this application, the control parameters include at least one of phase parameters, position parameters, and velocity parameters; the compensation amount determination module includes: The deviation determination submodule is used to determine the parameter deviations between each actuator; the parameter deviations include at least one of phase deviation, position deviation, and velocity deviation. The compensation amount determination submodule is used to determine the synchronization compensation amount of the target actuator based on the parameter deviation between each actuator; the synchronization compensation amount includes at least one of phase compensation amount, position compensation amount and speed compensation amount.
[0019] Thirdly, embodiments of this application also provide an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, it implements the steps in the robot control method described above.
[0020] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in the robot control method described above.
[0021] Fifthly, embodiments of this application also provide a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods provided in the various optional implementations described in the embodiments of this application.
[0022] In summary, in this embodiment, the robot's action sequence can be obtained; based on the action sequence, the control frequency of multiple actuators participating in the action in the robot can be determined; wherein, at least two of the multiple actuators have different control frequencies; and control commands are issued to each actuator according to its control frequency. This embodiment, by obtaining the action sequence and differentially determining the control frequency of each actuator, enables at least two actuators to receive control commands asynchronously at different frequencies. On the one hand, low-frequency actuators can reduce unnecessary command issuance, significantly reducing the occupancy rate of the communication bus and the computational load of the controller; on the other hand, allowing for differentiated frequency configuration makes the robot's actions more consistent with biological characteristics, eliminating the stiffness of mechanical synchronization, and thus effectively improving the coordination and naturalness of bionic actions. Attached Figure Description
[0023] To more clearly illustrate the technical solutions in this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0024] Figure 1 This is a schematic flowchart of a robot control method provided in an embodiment of this application; Figure 2This is a schematic diagram of a specific embodiment of determining the control frequency provided in this application; Figure 3 This is a schematic diagram of a specific embodiment of the modified base frequency provided in this application; Figure 4 This is a schematic diagram of a specific embodiment of the robot control method provided in this application; Figure 5 This is a schematic diagram of the structure of a robot control device provided in an embodiment of this application; Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0025] The technical solutions of this application will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are merely some embodiments of the present invention, and not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative effort are within the scope of protection of the present invention.
[0026] It should be noted that with the rapid development of robotics technology, home bionic robots, due to their human-like interactive capabilities and emotional expression functions, have gradually become a research hotspot in the field of consumer robotics. To achieve rich facial expressions (such as blinking and smiling) and body movements (such as nodding and waving), these robots integrate a large number of heterogeneous actuators, such as high-precision micro-servos (for the eyes), medium-speed rotary mechanisms (for the head), and high-torque servo motors (for the arms and torso). These actuators differ significantly in physical characteristics such as response speed, inertia, accuracy, and power consumption.
[0027] In existing robot control system architectures, to ensure the timing synchronization and determinism of motion execution, mainstream technical solutions typically employ a globally unified timer interrupt to trigger the issuance of control commands. That is, regardless of the actuator's motion phase (e.g., rapid start, constant speed maintenance, deceleration and stop, or pause and hover), the system periodically broadcasts position, velocity, and interpolation data to all actuators at a fixed and relatively high frequency (e.g., 50Hz or 100Hz).
[0028] The inventors of this application have discovered that while this method simplifies the design of the scheduling algorithm, it has three inherent drawbacks: First, high-frequency synchronous communication consumes a large amount of valuable fieldbus bandwidth, especially in humanoid robots with a large number of actuators (such as dozens of joints), easily leading to communication conflicts and data packet loss; second, the controller's CPU needs to handle a large number of redundant computational tasks, resulting in low computing power utilization and increased hardware costs; finally, the mechanical and uniform refresh rate disrupts the smoothness and randomness of biological movements, making the robot's motion trajectory appear overly deliberate and mechanical, severely impacting user experience and biomimetic masking effects. Therefore, how to reduce the communication and computational overhead of multi-actuator control systems while improving the natural coordination of biomimetic movements is a pressing technical challenge that needs to be addressed.
[0029] To address the current problems of high robot control costs and poor coordination of biomimetic movements, this application aims to provide a robot control method. By acquiring the action sequence and differentially determining the control frequency of each actuator, at least two actuators receive control commands asynchronously at different frequencies. On the one hand, low-frequency actuators reduce unnecessary command issuance, significantly lowering the occupancy rate of the communication bus and the computational load of the controller. On the other hand, allowing for differentiated frequency configuration makes robot movements more biologically consistent, eliminating the stiffness of mechanical synchronization and effectively improving the coordination and naturalness of biomimetic movements.
[0030] The following sections provide detailed descriptions of each example. It should be noted that the order in which the embodiments are described is not intended to limit the priority of the embodiments.
[0031] Figure 1 The illustration shows a schematic flowchart of a robot control method according to an embodiment of this application. The execution entity of this robot control method can be a robot control device, which can be integrated into any electronic device with data processing, network communication, and program execution functions. The electronic device can be a server or a terminal, etc.
[0032] The server can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, network acceleration services (Content Delivery Network, CDN), as well as big data and artificial intelligence platforms.
[0033] The terminal can be a robot or a smart device that communicates with the robot, such as a mobile phone, tablet, laptop, desktop computer, smart home device, wearable smart device, and in-vehicle computer, but is not limited thereto. The terminal and the server can be connected directly or indirectly through wired or wireless communication, which is not limited herein.
[0034] In this embodiment, the description will be from the perspective of a robot control device, which can be integrated into a server or terminal. To facilitate the explanation of the robot control method of this application, the following will describe the robot control device integrated into the robot's controller, that is, the controller will be used as the execution subject for detailed explanation.
[0035] Reference Figure 1 The diagram shows a flowchart of a robot control method according to this application. The method may specifically include steps S101 to S103, as follows: S101: Obtain the robot's action sequence.
[0036] In this embodiment, an action sequence refers to a set of action data arranged in chronological order that the robot needs to execute in order to complete a target action. This sequence typically includes keyframe information such as timestamps, target position, and target velocity. Its data format can be an array of trajectory interpolation points or a preset action script file.
[0037] In this embodiment, when the robot needs to perform a specific task (such as expressing "surprise" or performing a "grabbing" action), the controller first needs to read a preset action file from the storage medium (such as the internal flash memory chip), or receive a real-time action data stream from the cloud or remote control device through the communication interface, thereby obtaining a complete action sequence.
[0038] Specifically, the data structure of this action sequence can be a two-dimensional array or a lookup table. Each row of the array corresponds to a discrete time sampling point, and each column corresponds to a specific actuator. The array elements store the expected position and velocity values of the actuator at that sampling point.
[0039] S102: Based on the action sequence, determine the control frequency of multiple actuators involved in the action in the robot.
[0040] In this embodiment, after acquiring the action sequence, the controller does not directly broadcast the data to all actuators, but first performs frequency planning and allocation. The controller will parse which actuators will be involved in the action to be executed based on the specific content in the action sequence (for example, if the action is only "blinking", then only the eye actuator is involved; if it is "waving", then mainly the arm actuator is involved).
[0041] In this embodiment, an actuator refers to a power unit in the robot's body structure used to drive various joints or components to produce physical movement. For biomimetic robots, actuators may specifically include, but are not limited to, micro servos for controlling eye movement, stepper motors for controlling head rotation, brushless DC motors for controlling arm swing, and voice coil motors for controlling finger grasping.
[0042] In practical implementation, the controller can calculate and assign a control frequency individually to each actuator participating in the action sequence based on the motion complexity, rate of change of velocity, and physical response characteristics of the actuator. At least two actuators among multiple actuators will have different control frequencies. For example, in an action sequence, if one actuator (such as an eye servo) needs to perform high-frequency micro-vibrations or rapid scanning, with an extremely high rate of position change, the controller will assign it a higher control frequency; while simultaneously, another actuator (such as a torso joint) only needs to remain stationary or perform slow, uniform oscillations in the same action sequence, with an extremely low rate of position change, the controller will assign it a control frequency much lower than that of the eye servo.
[0043] It should be noted that control frequency refers to the number of times the controller's control command issuing thread sends a control data packet to the actuator per unit time (usually measured in seconds), and its unit is Hertz (Hz). The control frequency directly determines the density at which the actuator receives new position / velocity commands, thus affecting the smoothness of trajectory tracking and the consumption of control resources.
[0044] S103: Issue control commands to each actuator according to the control frequency of each actuator.
[0045] In this embodiment, the control command refers to a data frame containing control parameters sent by the controller to the actuator. Specifically, the control command can be a data frame containing a target position, target velocity, interpolation parameters, and a timestamp. The target position is the spatial position (angle or displacement) that the actuator should be at the desired arrival time; the target velocity is the desired velocity of the actuator during its journey to the target position; the interpolation parameters indicate the method and time allocation ratio for trajectory interpolation between adjacent control command frames; and the timestamp indicates the desired execution time corresponding to the control command, allowing the actuator to use its own clock for synchronization. By including a timestamp in the control command, even if each actuator receives the command asynchronously at different frequencies, the time correspondence of the desired trajectory can be reconstructed locally based on the timestamp.
[0046] In this embodiment, after the controller completes frequency allocation, the scheduler inside the controller creates an independent timer or task trigger for each actuator. These timers count and overflow trigger according to their respective allocated frequency values.
[0047] In its implementation, the controller runs a main loop while maintaining multiple independent timer / counters. For actuators assigned a high frequency, their corresponding counter thresholds are smaller, resulting in more frequent overflows. The controller sends a control frame containing the target position and velocity to this actuator each time an overflow occurs. For actuators assigned a low frequency, their counter thresholds are larger, resulting in longer overflow intervals. The controller only sends a control frame when their counter overflows. In this way, different actuators receive different numbers of control commands within the same time window, thus achieving asynchronous frequency conversion control for the robot.
[0048] In this embodiment, in order to ensure the effectiveness of command execution, the controller can also perform closed-loop correction on the position parameters in the command before issuing the control command, based on the current actual feedback position (e.g., the actual angle read by the encoder). This ensures that when the command reaches the actuator, the deviation between the current position of the actuator and the desired target is within a controllable range, thereby ensuring the accuracy of the action execution.
[0049] The technical solution of this application first acquires an action sequence, then dynamically determines the independent control frequency of each actuator participating in the action based on the action sequence, ensuring that at least two actuators have different frequencies, and finally asynchronously issues control commands according to their respective independent frequencies. This allows the robot to rationally allocate communication bandwidth and computing resources based on the actual workload and intensity of the actuators during the action. For actuators that move slowly or remain stationary, significantly reducing their control frequency effectively reduces the total number of command issuances, thereby lowering the probability of communication bus congestion and controller occupancy. Simultaneously, for actuators that move quickly and require precise trajectory tracking, maintaining or increasing their control frequency ensures the sensitivity and accuracy of the action response, freeing the robot's overall movements from the mechanical feel of traditional synchronous control and significantly improving the natural smoothness of biomimetic movements.
[0050] In one feasible implementation, refer to Figure 2 The step in S102, which determines the control frequency of multiple actuators participating in the action in the robot based on the action sequence, may specifically include sub-steps S201~S202, as follows: S201: Based on the action sequence, determine the action phase type of each actuator.
[0051] In this embodiment, after acquiring the action sequence, the controller iterates through the motion parameters associated with each actuator in the action sequence in chronological order. By analyzing the motion parameters of each actuator, the controller can divide the entire motion process of each actuator into multiple continuous but distinct time segments, and determine the corresponding action stage type for each time segment.
[0052] In this embodiment, the motion phase type refers to the different time history segments divided according to kinematic characteristics during the robot's execution of a complete biomimetic motion. In a continuous motion, the actuator will experience different physical processes such as starting acceleration, maintaining constant speed, and deceleration and stopping. These processes correspond to different motion phases. For example, the "deployment phase" represents the process of the actuator approaching the target position from the initial position, the "pause phase" represents the process of the actuator maintaining its posture at the target position, and the "retraction phase" represents the process of the actuator returning from the target position to the initial position.
[0053] In this embodiment, the action sequence includes the target position value of the actuator at each sampling moment. By performing differential calculations on the position values at adjacent moments, the controller can continuously calculate the instantaneous velocity direction (sign) and velocity magnitude change trend of each actuator at that moment. Based on the change in velocity direction, whether the velocity value continuously approaches zero, and whether the displacement reaches an extreme point, the controller can automatically identify the boundary moments of the action transitioning from "starting and approaching" to "holding and stopping" and then to "withdrawing and returning to position," thereby dividing the complete action timeline into multiple action stages with different physical meanings and labeling each stage with a corresponding action stage type label.
[0054] S202: Determine the control frequency of each actuator based on the part identification and action stage type of each actuator.
[0055] In this embodiment, after determining the action phase type of each actuator in different time periods, the controller further reads the locally stored configuration information to obtain the pre-marked part identifier of each actuator. Subsequently, the controller combines the information of the "part identifier" and the "action phase type" to assign an appropriate control frequency to each actuator in the current action phase.
[0056] In its implementation, the controller internally maintains a frequency planning mapping table. This table comprehensively considers the physical response characteristics represented by the part identifier (e.g., lightweight and high response bandwidth for eye actuators, and large inertia and low response bandwidth for arm actuators) and the control urgency represented by the action phase type (e.g., during the approach to the target position, the actuator position changes drastically, requiring a high command update frequency to ensure trajectory tracking accuracy; while during the attitude pausing process, the actuator position remains basically unchanged, requiring only a very low command update frequency to maintain the current state). By looking up the table or executing a preset mapping function, the controller integrates the above two dimensions of information to generate a unique control frequency value for the actuator in the current action phase. Since different actuators may have different part identifiers, and the same actuator may have different phase types in different action phases, the control frequency ultimately allocated to each actuator can achieve fine-grained and differentiated dynamic configuration.
[0057] By adopting the technical solution of this application embodiment, by comprehensively considering the part identification and action stage type of the actuator, the allocation of control frequency no longer depends on fixed empirical values, but can be adaptively adjusted according to the specific motion state of the actuator at each moment and the physical characteristics of its body area, thereby realizing the fine allocation of control frequency, ensuring the accuracy of the action of each part while maximizing the saving of system communication and computing resources.
[0058] In one feasible implementation, the step of determining the control frequency of each actuator based on the part identification and action phase type of each actuator may include: determining the base frequency of each actuator based on the part identification of each actuator; and correcting the base frequency of each actuator based on the action phase type of each actuator to obtain the control frequency of each actuator.
[0059] In this embodiment, after identifying the part identifier of each actuator, the controller can use a preset part-frequency mapping configuration table. This configuration table pre-stores a corresponding base frequency value for each part identifier. This base frequency value is calibrated based on the physical response characteristics of the actuator at that part and represents the appropriate control frequency for that part under normal operation. By querying this configuration table, the controller can quickly match and read the base frequency for each actuator.
[0060] In some embodiments, the base frequency of the eye actuator can be set to 60Hz to 120Hz because eye movements require rapid saccades and precise pupil / eyelid control, placing the highest demands on the real-time nature of command updates. The base frequency of the head actuator can be set to 30Hz to 60Hz because the head rotational motion inertia is moderate and needs to maintain a certain degree of coordination and synchronization with eye movements. The base frequency of the torso and arm actuators can be set to 10Hz to 30Hz because the torso and arm motion inertia are large and the movements are relatively slow, so a lower frequency is sufficient to meet the control accuracy requirements. The above-mentioned range of base frequencies can be adaptively adjusted according to the specific model of the actuator and the action scenario. The above values are merely illustrative examples and do not constitute a limitation on the scope of protection of this application.
[0061] In this embodiment, after obtaining the base frequency of each actuator, the controller further performs a correction calculation on the aforementioned base frequency according to the action stage type of each actuator at the current moment. Specifically, The base frequency can be used as a baseline value, and a frequency adjustment amount or scaling factor associated with the action phase type can be superimposed to generate the final control frequency.
[0062] In this embodiment, since the control sensitivity required by the same actuator varies at different motion stages, the correction operation allows the base frequency to dynamically fluctuate as the motion stage switches. For example, when the actuator is in a motion stage that requires high-density command tracking, the base frequency can be adjusted to a higher frequency; conversely, when the actuator is in a stage that does not require frequent command updates, the base frequency can be adjusted to a lower frequency.
[0063] The technical solution adopted in this application first determines the basic frequency based on the body part identification and then corrects the basic frequency based on the action stage type. This ensures the continuity and stability of the control frequency of the same body part in different scenarios, and can also dynamically adjust the correction amplitude according to the changes in the action stage. This makes the frequency allocation more scientific and reasonable, which helps to reduce the complexity of system maintenance and improve the interpretability of control parameters.
[0064] In one feasible implementation, the action phase type includes at least one of the following: deployment phase, pause phase, retraction phase, and asymmetric return phase. The step of determining the action phase type of each actuator based on the action sequence may include: extracting motion features of each actuator from the action sequence; the motion features include at least one of motion direction, velocity value, and displacement; determining the action phase type of any actuator as a deployment phase when the motion direction of any actuator points to the target attitude direction; and / or determining the action phase type of any actuator as a pause phase when the velocity value of any actuator is less than a velocity threshold and the duration of the velocity value being less than the velocity threshold is greater than a duration threshold; and / or determining the action phase type of any actuator as a retraction phase when the displacement of any actuator reaches its maximum value and begins to decrease, or reaches its minimum value and begins to increase; and / or determining the action phase type of any actuator as an asymmetric return phase when the outward motion curve and return motion curve of any actuator are inconsistent in adjacent time intervals.
[0065] In this embodiment, after obtaining the action sequence, the controller traverses the position data of each actuator frame by frame along the time axis and calculates the motion characteristics of the actuator through numerical calculation.
[0066] In its implementation, the controller obtains the instantaneous velocity value at each sampling moment by performing a difference operation on the position values at adjacent moments and dividing by the time interval. The sign of this velocity value directly reflects the direction of motion of the actuator; a positive velocity indicates that the actuator is moving along the positive direction of the coordinate axis, and a negative velocity indicates moving along the negative direction. Furthermore, the controller continuously monitors the velocity values on the time axis, recording the magnitude of the instantaneous velocity at each moment. In addition, the controller also calculates the displacement of the actuator relative to its initial position at the current moment by subtracting the position value at the start of the action from the current position value, which is used to determine the spatial position state of the actuator.
[0067] In this embodiment, the controller compares the motion features of each actuator extracted from the action sequence with multiple sets of preset judgment conditions one by one, thereby determining the action phase type of each actuator in each time interval. In this embodiment, the action phase type specifically includes at least one of the following: deployment phase, pause phase, retraction phase, and asymmetric return phase. Specifically, the deployment phase refers to the continuous process interval in which the actuator moves from the starting position towards the target posture to approach the target position; the pause phase refers to the attitude maintenance interval of the actuator near the target position; the retraction phase refers to the continuous process interval in which the actuator begins to move in the opposite direction after the displacement reaches its extreme value, returning from the target position to the initial position; and the asymmetric return phase refers to the return process interval in which the motion curve shape of the actuator during the return process is inconsistent with the motion curve shape during the outward process.
[0068] In this embodiment, to determine the deployment phase, the controller can monitor the relationship between the motion direction of each actuator and the target attitude direction in real time. The target attitude direction refers to the direction of the motion target defined by the current action sequence of the actuator, i.e., the direction in which the actuator needs to approach the final desired position during the deployment phase. When the controller determines that the motion direction of any actuator points to the target attitude direction, it indicates that the actuator is in the process of moving from the starting position to the target position. At this time, the actuator requires relatively dense control commands to achieve accurate position tracking; therefore, the controller determines the current action phase type of the actuator as the deployment phase.
[0069] In this embodiment, to determine the pause phase, the controller compares the absolute speed value of each actuator with a preset speed threshold and simultaneously times the duration for which the speed value is below the threshold. When the controller detects that the absolute speed value of any actuator is less than the preset speed threshold, and the duration of this low-speed state exceeds a preset duration threshold, it indicates that the actuator is actually in a stationary state or only exhibits slight chattering rather than effective positional movement. Therefore, the controller determines that the current action phase of the actuator is a pause phase.
[0070] In this embodiment, to determine the recovery phase, the controller continuously tracks the displacement trend of each actuator on the time axis, monitoring in real time whether the displacement reaches an extreme point. When the controller detects that the displacement of any actuator reaches the maximum value within its range of motion and then begins to decrease, or reaches the minimum value and then begins to increase, it indicates that the actuator has reached the end of its stroke and has begun to reverse, i.e., returning from the target position to the initial position. At this time, the controller determines that the current action phase of the actuator is the recovery phase.
[0071] In this embodiment, to determine the asymmetric return phase, the controller compares the position-time motion curves of the actuator during the outward travel time and the return travel time in the action sequence. The outward travel curve refers to the trajectory of the actuator's position changing over time as it moves from the starting position to the target position, while the return travel curve refers to the trajectory of the actuator's position changing over time as it returns from the target position to the starting position. When the controller determines that there is a difference in the curve morphology, such as different travel durations, different peak velocities, or inconsistent acceleration patterns, it indicates that the actuator has adopted an asymmetric motion mode. In this case, the controller determines that the actuator's action phase type within that time interval is an asymmetric return phase.
[0072] By employing the technical solution of this application embodiment, kinematic features such as motion direction, velocity value and displacement are automatically extracted from the action sequence, which can achieve accurate identification of the action stage type of each actuator, providing a reliable and accurate data foundation for subsequent differentiated frequency allocation.
[0073] In one feasible implementation, the action phase type includes at least one of an unfolding phase, a pause phase, a retraction phase, and an asymmetric return phase; refer to Figure 3 The step of correcting the base frequency of each actuator based on the action stage type of each actuator may specifically include sub-steps S301~S304, as follows: S301: When the action phase type of any actuator is the unfolding phase, increase the base frequency of the actuator.
[0074] In this embodiment, when the controller determines that the action phase of any actuator is the unfolding phase, it indicates that the actuator is in the process of moving from the starting position to the target position. During this phase, the actuator's position changes drastically, and the trajectory tracking accuracy requirement is high, requiring the controller to update commands more frequently to ensure the accuracy of the motion trajectory. Therefore, the controller increases the base frequency of the actuator. Specifically, the base frequency can be multiplied by a first scaling factor greater than 1 (e.g., 1.5 to 3 times), or a preset frequency increment value can be added, so that the actuator can obtain a higher control command update rate during the unfolding phase.
[0075] S302: When the action phase type of any actuator is a pause phase, reduce the base frequency of the actuator or maintain the control frequency of the actuator.
[0076] In this embodiment, when the controller determines that the action phase of any actuator is a pause phase, it indicates that the actuator has maintained its attitude near the target position, and its position remains essentially unchanged. The purpose of controlling the actuator is to maintain the current attitude rather than tracking the changing target trajectory. At this time, the controller can reduce the actuator's base frequency by multiplying it by a second scaling factor less than 1 to reduce unnecessary command issuance frequency; alternatively, the controller can choose to keep the actuator's control frequency unchanged, i.e., use the control frequency value from the previous moment. Thus, when the actuator is already in a paused state, maintaining the current control frequency is sufficient to meet the attitude maintenance requirements, without the need for additional frequency adjustments, which helps reduce the computational burden on the system.
[0077] In some implementations, the base frequency can be multiplied by a second scaling factor of 0 to 0.5. When the value is 0, it indicates that new control commands are stopped and only the attitude hold state of the last frame command is maintained.
[0078] S303: When the action phase type of any actuator is the recovery phase, decrease the base frequency of the actuator over time.
[0079] In this embodiment, when the controller determines that the action phase of any actuator is a recovery phase, it indicates that the actuator has passed the displacement extreme point and begun reverse motion, returning from the target position to the initial position. The recovery phase is a relaxation and yielding process of the action, and the requirement for trajectory tracking accuracy is generally lower than that of the deployment phase. The control requirements decrease as the actuator gradually approaches the initial position. Therefore, the controller implements a time-decreasing correction strategy for the actuator's base frequency. That is, as the recovery process progresses, the control frequency of the actuator is gradually reduced. A relatively high frequency is maintained in the early stage of recovery to ensure smooth yielding, and the frequency is reduced to a lower level in the later stage of recovery to reduce resource consumption.
[0080] In this embodiment, the decreasing method can be linear decreasing, that is, the frequency value is reduced by a fixed step size in each control cycle; it can also be exponential decreasing, that is, the frequency value decreases according to an exponential function curve, with a faster decrease in the early stage and a gradual decrease in the later stage, which is suitable for action scenarios that require quick completion of retreat and then remaining stationary; it can also be step decreasing, that is, the frequency value is reduced step by step according to preset levels, and each level is maintained for a preset duration before decreasing to the next level.
[0081] S304: When the action phase type of any actuator is the asymmetric return phase, the base frequency controlling the actuator's outgoing stroke is different from the base frequency controlling the return stroke, and the base frequency controlling the return stroke decreases over time.
[0082] In this embodiment, when the controller determines that the action phase of any actuator is a recovery phase, it indicates that the actuator has passed the displacement extreme point and begun reverse movement, returning from the target position to the initial position. The recovery phase is a relaxation and yielding process of the action, and the requirement for trajectory tracking accuracy is generally lower than that of the deployment phase. The control requirements decrease as the actuator gradually approaches the initial position. Therefore, the controller implements a time-decreasing correction strategy for the actuator's base frequency. That is, as the recovery process progresses, the control frequency of the actuator is gradually reduced. A relatively high frequency is maintained in the early stage of recovery to ensure smooth yielding, and the frequency is reduced to a lower level in the later stage of recovery to reduce resource consumption. Specifically, the controller can control the actuator to use a first base frequency in the outward phase and a second base frequency different from the first base frequency in the return phase, and the second base frequency in the return phase decreases over time in the aforementioned decreasing manner.
[0083] By adopting the technical solution of this application embodiment, different basic frequency correction strategies are configured for the deployment stage, pause stage, recovery stage and asymmetric return stage, respectively, so as to realize the dynamic adaptive adjustment of the control frequency on the time axis. This enables the actuator to obtain enhanced control support in the deployment stage where high-precision tracking is required, reduce resource consumption in the pause and recovery stages where low control requirements are required, and realize differentiated configuration of the return path in the asymmetric return stage. Thus, while ensuring the quality of the actions in each stage, the average communication load and computing overhead of the system are significantly reduced.
[0084] In one feasible implementation, refer to Figure 4 The robot control method may also include steps S401 to S402, as follows: S401: In response to a triggering synchronization compensation event, determine the synchronization compensation amount of the target actuator.
[0085] In this embodiment, during the asynchronous control command issuance process, the controller continuously monitors the system's operating status and triggers a synchronization compensation event when preset conditions are met. The synchronization compensation event refers to a specific situation or time point that requires initiating the compensation process, used to introduce phased coordination and correction within the asynchronous control system.
[0086] In this embodiment, when the controller detects a synchronization compensation event being triggered, it immediately initiates a compensation process to determine the target actuator requiring parameter compensation from among multiple actuators. The target actuator is the actuator among the multiple actuators that requires parameter compensation; specifically, it refers to one or more actuators that, in the current compensation cycle, require parameter adjustment due to a deviation between their actual motion state and their desired motion state. Based on the differences between the actual and desired motion states of each actuator, the controller calculates and determines the synchronization compensation amount for the target actuator. The synchronization compensation amount refers to the specific value of adjusting the control parameters to eliminate or reduce the degree of motion incoordination between actuators.
[0087] In this embodiment, the synchronization compensation event includes at least one of frequency switching points, action segment boundaries, and multi-actuator cooperative nodes.
[0088] In this embodiment, the frequency switching point refers to the time point at which the control frequency of any actuator changes, such as switching from high frequency to low frequency or from low frequency to high frequency. During asynchronous frequency conversion control, the actuator corresponds to different control frequencies at different action stages. When the actuator crosses the boundary of an action stage, its control frequency also switches. However, before and after the frequency switching, the control cycle jumps; at high frequencies, the control cycle is short and command updates are frequent, while at low frequencies, the control cycle is long and command updates are sparse. This cycle jump may cause discontinuous target position interpolation of the actuator or abrupt changes in speed commands before and after the frequency switching moment. Specifically, when switching from high frequency to low frequency, because the control cycle suddenly becomes longer, the intermediate interpolation point under the original high-frequency cycle is discarded, and the actuator needs to jump directly from the actual position before the switch to the target position under the low-frequency cycle. If there is a deviation between the two, significant speed fluctuations will occur. Therefore, the controller identifies this frequency switching point as a synchronization compensation event, initiates the compensation process at the switching moment, calculates the deviation of the command sequence before and after the switch, and corrects the first frame control command after the switch to ensure the smooth continuity of the motion trajectory before and after the frequency switching.
[0089] In this embodiment, when the synchronization compensation event is a frequency switching point, the controller must satisfy the frequency switching continuity constraint when performing synchronization compensation. Specifically, at the switching moment, the controller detects the target position difference between the last frame control command before the switch and the first frame control command after the switch. If the difference is not zero, the target position of the first frame after the switch is corrected by interpolation to ensure the continuity of the target position before and after the switch. At the same time, the controller detects the difference in speed commands before and after the switch. If the speed difference exceeds a preset speed change threshold, the speed command after the switch is limited. In addition, when switching from high frequency to low frequency, the controller merges multiple consecutive control frames in the high-frequency cycle into a comprehensive control frame. The target position of this comprehensive control frame is the weighted average of multiple frames to reduce the amount of data. When switching from low frequency to high frequency, the controller inserts a preset number of transition frames in the first low-frequency cycle after the switch, so that the actuator can smoothly adapt to the new control cycle and ensure that the acceleration change at the switching moment is less than a preset acceleration threshold.
[0090] In this embodiment, the action segment boundary refers to the time point at which the actuator's action phase type changes, such as switching from the deployment phase to the pause phase, or from the pause phase to the retraction phase. Different action phases have different kinematic characteristics and control objectives. During the deployment phase, the actuator is rapidly approaching the target position; during the pause phase, the actuator needs to precisely maintain the target position; and during the retraction phase, the actuator returns from the target position to the initial position. At the action segment boundary, the actuator's motion state undergoes a fundamental change, such as suddenly switching from high-speed motion to stationary holding, or suddenly switching from stationary holding to reverse motion. Since each actuator receives control commands independently at an asynchronous frequency, there may be a slight time deviation when different actuators reach their respective action segment boundaries, resulting in motion incoordination at the boundary. For example, one actuator may have entered the pause holding phase while another actuator is still deploying. Therefore, the controller identifies the action segment boundary as a synchronization compensation event and initiates a compensation process at the boundary moment to detect and correct the phase and position deviations of each actuator, ensuring that all actuators synchronously complete the state switch at the same action segment boundary.
[0091] In this embodiment, a multi-actuator collaborative node refers to a specific point in time during a biomimetic action where multiple actuators need to arrive at their respective target postures simultaneously to form a coordinated overall action. For example, many biomimetic expressions of home biomimetic robots require the coordinated cooperation of multiple body parts. For instance, the "nodding" action requires the head actuator and neck actuator to work synchronously, while the "surprised" expression requires the eye actuator (widening), eyebrow actuator (raising), and mouth actuator (opening) to arrive at their respective target postures at the same time to achieve a coordinated emotional expression. However, when multiple actuators operate asynchronously at different frequencies, high-frequency actuators have shorter control cycles and faster convergence speeds, while low-frequency actuators have longer control cycles and slower convergence speeds. If they operate independently according to their respective asynchronous frequencies, the times at which each actuator arrives at the target posture will be inconsistent, resulting in a lack of coordination and expressiveness in the biomimetic expression. Therefore, the controller identifies the multi-actuator collaborative node as a synchronization compensation event and initiates the compensation process at a preset time before the arrival of the node. It calculates the deviation between the current actual position and the target position of each actuator, the estimated time difference for each actuator to reach the target position, and generates compensation amount accordingly. It applies phase delay or position fine adjustment to the actuator that arrives earlier and applies speed increment to the actuator that arrives later, thereby ensuring that multiple actuators can be synchronously positioned at the collaborative node and achieve coordinated and consistent biomimetic expression.
[0092] S402: Based on the synchronization compensation amount, compensate the control parameters in the control command corresponding to the target actuator.
[0093] In this embodiment, after determining the synchronization compensation amount, the controller superimposes or integrates this compensation amount into the corresponding control parameters in the next frame of control instructions to be issued by the target actuator. In practice, the compensation amount can be directly added to or subtracted from the original control parameters, or the original control parameters can be scaled proportionally based on the compensation amount. The compensated control instructions are then issued to the target actuator, which will execute subsequent actions according to the corrected parameters, thereby correcting the deviation. After one compensation is completed, the controller continues to issue instructions normally at its respective asynchronous frequency until the next compensation event is triggered again.
[0094] By adopting the technical solution of this application embodiment, a synchronous compensation event triggering mechanism is introduced in the asynchronous frequency conversion control process, and the synchronous compensation amount of the target actuator is determined when the event is triggered to correct the control parameters. This enables the system to effectively correct the coordination deviation accumulated due to frequency asynchrony at key nodes while maintaining the independent asynchronous frequency conversion control of each actuator and the advantage of low communication overhead. This ensures the overall coordination and consistency of the actions of multiple actuators under asynchronous control.
[0095] In one feasible implementation, the step of determining the synchronization compensation amount of the target actuator may include: determining the parameter deviation between each actuator; and determining the synchronization compensation amount of the target actuator based on the parameter deviation between each actuator.
[0096] In this embodiment, after the synchronization compensation event is triggered, the controller first obtains the actual motion state and the desired motion state of each actuator at the current moment, and calculates the parameter deviation between each actuator accordingly. Parameter deviation refers to the difference between the actual motion state and the desired motion state caused by the different control frequencies of each actuator during asynchronous frequency conversion control.
[0097] In this embodiment, parameter deviation specifically includes at least one of phase deviation, position deviation, and velocity deviation. Phase deviation refers to the difference between the current actual motion phase and the desired motion phase of the target actuator. Motion phase is a physical quantity describing the position of the actuator within its motion cycle, and can be characterized by the ratio of the actuator's current time progress in the action sequence to the total cycle. Phase deviation reflects the degree of relative lag or lead of the actuator in the time dimension. Position deviation refers to the difference between the current actual spatial position and the desired spatial position of the target actuator, reflecting the accuracy of the actuator's spatial positioning. Velocity deviation refers to the difference between the current actual velocity value and the desired velocity value of the target actuator, reflecting the degree of deviation of the actuator in terms of motion speed.
[0098] In this embodiment, the controller can obtain the actual position and actual speed of each actuator at the current moment through encoder feedback signal or forward kinematics calculation, and compare them with the expected position and expected speed at the corresponding moment in the action sequence, thereby calculating the above-mentioned various deviation values.
[0099] In some implementations, the phase deviation can be calculated using the following formula: Δφ = φ_target φ_actual, where φ_target is the desired motion phase, φ_actual is the actual motion phase, and Δφ is the phase deviation. A positive value indicates that the actual phase lags behind the desired phase, and a negative value indicates that the actual phase leads the desired phase. The position deviation can be calculated using the following formula: Δx = x_theoretical x_actual, where x_theoretical is the theoretical position of the actuator obtained through kinematic solutions, x_actual is the actual position of the actuator, and Δx is the position deviation. The velocity deviation can be calculated using the following formula: Δv = v_target v_actual, where v_target is the desired speed value, v_actual is the actual speed value of the actuator, and Δv is the speed deviation.
[0100] In this embodiment, after calculating the parameter deviations between each actuator, the controller determines the synchronization compensation amount to be applied to the target actuator based on the type and magnitude of the deviation. The synchronization compensation amount is a specific value that needs to be adjusted in the control parameters to eliminate or reduce the aforementioned parameter deviations, specifically including at least one of phase compensation, position compensation, and speed compensation. The controller maps the deviation value to the corresponding compensation amount based on the sign and magnitude of the deviation, combined with a preset compensation coefficient, so that the compensation amount can specifically counteract the deviation.
[0101] In its implementation, the controller uses the high-frequency actuator as a reference and performs synchronous compensation on the medium-frequency and low-frequency actuators. When phase lag is detected in the target actuator, a positive phase compensation amount is generated to accelerate its movement. When a position deviation is detected, a position compensation amount is generated and superimposed on the target position in the next frame. When a speed deviation is detected, a speed compensation amount is generated to adjust the actuator's movement speed.
[0102] In this embodiment, after generating the synchronization compensation amount, the controller superimposes or integrates the compensation amount into the corresponding control parameters in the control command to be issued by the target actuator, thereby correcting the control command. The control parameters include at least one of phase parameters, position parameters, and velocity parameters.
[0103] In some implementations, the phase compensation amount can be generated using the following formula: Δφ_comp = kφ·Δφ, where Δφ is the phase deviation, kφ is a preset phase compensation coefficient, and Δφ_comp is the phase compensation amount. This phase compensation amount is used to adjust the phase parameters in the control commands of the target actuator. Specifically, the corrected phase parameters are calculated using the formula t_next' = t_next + Δφ_comp, where t_next is the phase parameter value in the original control command to be issued in the next frame, and t_next' is the corrected phase parameter value. These phase parameters can specifically be the timestamp of the command issuance, the phase angle value of the actuator in the motion cycle, or other phase-related quantities used to characterize the progress of the action execution.
[0104] In some implementations, the position compensation amount can be generated using the following formula: Δx_comp = kx·Δx, where Δx is the position deviation, kx is a preset position compensation coefficient, and Δx_comp is the position compensation amount. This position compensation amount is used to adjust the position parameters in the control command of the target actuator. Specifically, the corrected position parameters are calculated using the formula x_target' = x_target + Δx_comp, where x_target is the original position parameter value in the next frame control command to be issued, and x_target' is the corrected position parameter value.
[0105] In some implementations, the speed compensation amount can be generated using the following formula: Δv_comp = kv·Δv, where Δv is the speed deviation, kv is a preset speed compensation coefficient, and Δv_comp is the speed compensation amount. This speed compensation amount is used to adjust the speed parameters in the control commands of the target actuator. Specifically, the corrected speed parameters are calculated using the formula v_target' = v_target + Δv_comp, where v_target is the original speed parameter value in the next frame control command to be issued, and v_target' is the corrected speed parameter value.
[0106] By adopting the technical solution of this application embodiment, the phase deviation, position deviation and speed deviation between each actuator are determined, and corresponding phase compensation amount, position compensation amount and speed compensation amount are generated accordingly. This achieves accurate detection and targeted correction of multi-dimensional deviations in asynchronous frequency conversion control, so that synchronous compensation can cover the coordinated needs of actuators in three dimensions: time synchronization, spatial positioning accuracy and motion speed matching, effectively ensuring the overall coordination and consistency of multiple actuators under asynchronous operation conditions.
[0107] To facilitate better implementation of the robot control method of this application, this application also provides a robot control device based on the above-described robot control method. The meanings of the terms used are the same as in the robot control method described above, and specific implementation details can be found in the descriptions of the method embodiments.
[0108] Based on the same inventive concept, and referring to Figure 5 This application provides a robot control device 500, which includes: The motion acquisition module 501 is used to acquire the robot's motion sequence; The frequency determination module 502 is used to determine the control frequency of multiple actuators participating in the action in the robot based on the action sequence; wherein, at least two of the multiple actuators have different control frequencies; The instruction issuing module 503 is used to issue control instructions to each actuator according to the control frequency of each actuator.
[0109] In one embodiment of this application, the frequency determination module 502 includes: The type determination submodule is used to determine the action phase type of each actuator based on the action sequence; The frequency determination submodule is used to determine the control frequency of each actuator based on the part identification and action stage type of each actuator.
[0110] In one embodiment of this application, the frequency determination submodule includes: The fundamental frequency determination unit is used to determine the fundamental frequency of each actuator based on the part identification of each actuator; The control frequency determination unit is used to correct the base frequency of each actuator based on the action stage type of each actuator, so as to obtain the control frequency of each actuator.
[0111] In one embodiment of this application, the action phase type includes at least one of an unfolding phase, a pause phase, a retraction phase, and an asymmetric return phase; the type determination submodule includes: The feature extraction unit is used to extract the motion features of each actuator in the action sequence; the motion features include at least one of motion direction, velocity value and displacement. The first type determination unit is used to determine the action phase type of any actuator as the unfolding phase when the motion direction of any actuator points to the target attitude direction. The second type determination unit is used to determine the action phase type of the actuator as a pause phase when the speed value of any actuator is less than the speed threshold and the duration of the speed value being less than the speed threshold is greater than the duration threshold. The third type determination unit is used to determine the action phase type of the actuator as the recovery phase when the displacement of any actuator reaches the maximum value and begins to decrease, or the displacement reaches the minimum value and begins to increase. The fourth type determination unit is used to determine the action stage type of the actuator as an asymmetric return stage when the outward motion curve and return motion curve of any actuator are inconsistent in adjacent time intervals.
[0112] In one embodiment of this application, the action phase type includes at least one of an unfolding phase, a pause phase, a retraction phase, and an asymmetric return phase; the control frequency determination unit includes: The first adjustment subunit is used to increase the base frequency of any actuator when the action phase type of any actuator is the unfolding phase. The second adjustment subunit is used to either lower the base frequency of any actuator or maintain the control frequency of the actuator when the action phase type of any actuator is a pause phase. The third adjustment subunit is used to decrease the base frequency of any actuator over time when the action phase type of any actuator is the recovery phase. The fourth adjustment subunit is used to control the actuator's outgoing base frequency to be different from its return base frequency when the actuator's action phase type is asymmetric return phase, and the return base frequency decreases over time.
[0113] In one embodiment of this application, the robot control device 500 further includes: The compensation amount determination module is used to determine the synchronization compensation amount of the target executor in response to the triggering of a synchronization compensation event; the target executor is the executor that needs parameter compensation among multiple executors. The parameter compensation module is used to compensate the control parameters in the control command corresponding to the target actuator based on the synchronization compensation amount.
[0114] In one embodiment of this application, the control parameters include at least one of phase parameters, position parameters, and velocity parameters; the compensation amount determination module includes: The deviation determination submodule is used to determine the parameter deviations between each actuator; the parameter deviations include at least one of phase deviation, position deviation, and velocity deviation. The compensation amount determination submodule is used to determine the synchronization compensation amount of the target actuator based on the parameter deviation between each actuator; the synchronization compensation amount includes at least one of phase compensation amount, position compensation amount and speed compensation amount.
[0115] The technical solution of this application first acquires an action sequence, then dynamically determines the independent control frequency of each actuator participating in the action based on the action sequence, ensuring that at least two actuators have different frequencies, and finally asynchronously issues control commands according to their respective independent frequencies. This allows the robot to rationally allocate communication bandwidth and computing resources based on the actual workload and intensity of the actuators during the action. For actuators that move slowly or remain stationary, significantly reducing their control frequency effectively reduces the total number of command issuances, thereby lowering the probability of communication bus congestion and controller occupancy. Simultaneously, for actuators that move quickly and require precise trajectory tracking, maintaining or increasing their control frequency ensures the sensitivity and accuracy of the action response, freeing the robot's overall movements from the mechanical feel of traditional synchronous control and significantly improving the natural smoothness of biomimetic movements.
[0116] Specific limitations regarding the robot control device 500 can be found in the limitations of the robot control method described above, and will not be repeated here. Each module in the robot control device 500 can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.
[0117] In addition, this application also provides an electronic device, such as Figure 6 As shown, it illustrates the structural diagram of the electronic device involved in this application, specifically: The electronic device may include components such as a processor 601 with one or more processing cores and a memory 602 with one or more computer-readable storage media. Those skilled in the art will understand that... Figure 6 The electronic device structure shown does not constitute a limitation on the electronic device and may include more or fewer components than shown, or combine certain components, or have different component arrangements. Wherein: The processor 601 is the control center of the electronic device. It connects various parts of the electronic device via various interfaces and lines, and performs various functions and processes data by running or executing software programs and / or modules stored in the memory 602, and by calling data stored in the memory 602, thereby providing overall monitoring of the electronic device. Optionally, the processor 601 may include one or more processing cores; preferably, the processor 601 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 601.
[0118] The memory 602 can be used to store software programs and modules. The processor 601 executes various functional applications and data processing by running the software programs and modules stored in the memory 602. The memory 602 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the electronic device, etc. In addition, the memory 602 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory 602 may also include a memory controller to provide the processor 601 with access to the memory 602.
[0119] In one feasible implementation, the electronic device further includes a power supply 603 that supplies power to the various components. Preferably, the power supply 603 can be logically connected to the processor 601 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. The power supply 603 may also include one or more DC or AC power supplies, recharging systems, power equipment debugging circuits, power converters or inverters, power status indicators, and other arbitrary components.
[0120] In one feasible implementation, the electronic device may further include an input unit 604, which can be used to receive input digital or character information and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control.
[0121] Although not shown, the electronic device may also include a display unit, etc., which will not be described in detail here. Specifically, in this embodiment, the processor 601 in the electronic device loads the executable files corresponding to the processes of one or more application programs into the memory 602 according to the following instructions, and the processor 601 runs the application programs stored in the memory 602, thereby implementing the steps in any of the robot control methods provided in the embodiments of this application.
[0122] Those skilled in the art will understand that Figure 6 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the electronic device to which the present application is applied. The specific electronic device may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements.
[0123] In one feasible implementation, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the methods described in any embodiment of this application.
[0124] In one feasible implementation, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the methods described in any embodiment of this application.
[0125] In one feasible implementation, a computer program product is also proposed, comprising a computer program or instructions that, when executed by a processor, implement the methods described in any embodiment of this application.
[0126] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.
[0127] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be performed by instructions, or by instructions controlling related hardware. These instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.
[0128] Therefore, this application provides a computer-readable storage medium storing a computer program that can be loaded by a processor to execute the steps in any of the robot control methods provided in this application.
[0129] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.
[0130] The computer-readable storage medium may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.
[0131] Since the instructions stored in the computer-readable storage medium can execute the steps of any of the robot control methods provided in this application, the beneficial effects that any of the robot control methods provided in this application can achieve can be realized, as detailed in the preceding embodiments, and will not be repeated here.
[0132] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or terminal device. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or terminal device that includes the element.
[0133] The above provides a detailed description of a robot control method, apparatus, electronic device, and computer-readable storage medium provided in this application. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, those skilled in the art will recognize that there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.
Claims
1. A robot control method, characterized in that, The method includes: Obtain the robot's action sequence; Based on the action sequence, the control frequencies of multiple actuators participating in the actions in the robot are determined; wherein, at least two of the multiple actuators have different control frequencies. Control commands are sent to each actuator according to its control frequency.
2. The robot control method according to claim 1, characterized in that, Based on the action sequence, the control frequencies of multiple actuators participating in the actions in the robot are determined, including: Based on the action sequence, determine the action phase type of each actuator; Based on the part identification of each actuator and the type of action stage, the control frequency of each actuator is determined.
3. The robot control method according to claim 2, characterized in that, The determination of the control frequency of each actuator based on the part identification of each actuator and the action stage type includes: Based on the part identification of each actuator, the basic frequency of each actuator is determined; Based on the action stage type of each actuator, the base frequency of each actuator is modified to obtain the control frequency of each actuator.
4. The robot control method according to claim 2, characterized in that, The action phase type includes at least one of the following: unfolding phase, pause phase and retraction phase, and asymmetric return phase; The determination of the action phase type for each actuator based on the action sequence includes: Extract the motion features of each actuator from the action sequence; the motion features include at least one of motion direction, velocity value, and displacement. When the motion direction of any actuator points to the target attitude direction, the action phase type of that actuator is determined to be the deployment phase; and / or, When the speed value of any actuator is less than a speed threshold and the duration of the speed value being less than the speed threshold is greater than a duration threshold, the action phase type of that actuator is determined to be the pause phase; and / or, When the displacement of any actuator reaches its maximum value and begins to decrease, or when the displacement reaches its minimum value and begins to increase, the action phase type of that actuator is determined to be the recovery phase; and / or, When the outward motion curve and return motion curve of any actuator are inconsistent in adjacent time intervals, the action phase type of the actuator is determined to be the asymmetric return phase.
5. The robot control method according to claim 3, characterized in that, The action phase type includes at least one of the following: unfolding phase, pause phase and retraction phase, and asymmetric return phase; The correction of the base frequency of each actuator based on the action phase type of each actuator includes: When the action phase type of any actuator is the unfolding phase, the base frequency of that actuator is increased. And / or, When the action phase type of any actuator is the pause phase, the base frequency of the actuator is lowered or the control frequency of the actuator is maintained; and / or, When the action phase type of any actuator is the recovery phase, the base frequency of the actuator is decreased over time; and / or, When the action phase type of any actuator is the asymmetric return phase, the base frequency controlling the actuator's outgoing stroke is different from the base frequency controlling the return stroke, and the base frequency controlling the return stroke decreases over time.
6. The robot control method according to claim 1, characterized in that, After issuing control commands to each actuator according to the control frequency of each actuator, the method further includes: In response to a triggered synchronization compensation event, the synchronization compensation amount of the target actuator is determined; the target actuator is one of the multiple actuators that requires parameter compensation. Based on the aforementioned synchronization compensation amount, the control parameters in the control command corresponding to the target actuator are compensated.
7. The robot control method according to claim 6, characterized in that, The control parameters include at least one of phase parameters, position parameters, and velocity parameters; determining the synchronization compensation amount of the target actuator includes: Determine the parameter deviations between each actuator; the parameter deviations include at least one of phase deviation, position deviation, and velocity deviation. Based on the parameter deviations between each actuator, the synchronization compensation amount of the target actuator is determined; the synchronization compensation amount includes at least one of phase compensation amount, position compensation amount, and speed compensation amount.
8. A robot control device, characterized in that, The device includes: The motion acquisition module is used to acquire the robot's motion sequence; A frequency determination module is used to determine the control frequency of multiple actuators participating in the action in the robot based on the action sequence; wherein, at least two of the multiple actuators have different control frequencies; The instruction issuing module is used to issue control instructions to each actuator according to the control frequency of each actuator.
9. An electronic device, characterized in that, It includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps in the robot control method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the robot control method as described in any one of claims 1 to 7.