A robot control method, device, equipment, storage medium and product

CN122645359BActive Publication Date: 2026-10-30SUZHOU XINGHAITU DYNAMICS TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202611161432.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-08-03
Publication Date
2026-10-30
Estimated Expiration
2046-08-03

AI Technical Summary

Technical Problem

例如左臂完成某一任务时,右臂应根据空间占用自动退让,而非独立执行;再如在抓取或避障场景中,躯干的姿态调整可极大缓解双臂的可达压力,但传统控制方法无法让“非任务关键体节”主动介入

Benefits of technology

[0022]本发明公开的机器人控制方法,首先接收目标机器人的任务指令,将任务指令分解为至少一个子任务,并为各子任务配置属性参数;其中,属性参数至少包括可松弛属性标签,可松弛属性标签用于指示子任务在求解过程中是否启用松弛机制;然后确定任务指令对应的目标优化变量与约束条件,构建各子任务的损失函数,并根据各子任务的损失函数与约束条件构建任务指令的目标优化模型;其中,各子任务的损失函数根据各子任务的可松弛属性标签构建;再基于目标优化模型确定目标优化变量的控制参数量;最后生成控制参数量的目标控制指令,并根据目标控制指令控制目标机器人的动作。本发明公开的机器人控制方法,通过将目标任务指令分解为各个子任务,并根据各子任务的可松弛属性标签构建各子任务的损失函数,进而对目标机器人的任务指令进行整体任务建模,使得各子任务之间具备冲突调解与动态退让能力,从而提高复杂任务的成功率与机器人控制的灵活性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122645359B_ABST
    Figure CN122645359B_ABST
Patent Text Reader

Abstract

The application discloses a robot control method, device, equipment, storage medium and product, and the method comprises the following steps: receiving a task instruction of a target robot, decomposing the task instruction into at least one subtask, and configuring attribute parameters for each subtask; wherein the attribute parameters at least comprise a relaxable attribute label, and the relaxable attribute label is used for indicating whether a relaxation mechanism is enabled in a solving process of the subtask; determining a target optimization variable and a constraint condition corresponding to the task instruction, constructing a loss function of each subtask, and constructing a target optimization model of the task instruction according to the loss function of each subtask and the constraint condition; wherein the loss function of each subtask is constructed according to the relaxable attribute label of each subtask; determining a control parameter quantity of the target optimization variable based on the target optimization model; generating a target control instruction of the control parameter quantity, and controlling the action of the target robot according to the target control instruction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of control science and technology, and in particular to a robot control method, apparatus, equipment, storage medium, and product. Background Technology

[0002] With the continuous development of humanoid robots, service robots, and remote control technology, robots face higher demands in performing multi-task operations, fine motion control, and dynamic environmental interaction. In these complex scenarios, robot control not only needs to meet the end-effector pose target, but also needs to take into account multiple indicators such as the coordination between different parts of the body, the smoothness of motion, and its own feasibility (such as avoiding self-collision and singularities).

[0003] Inverse kinematics (IK) is a technique for inferring joint angles from known end-effector positions and is widely used in robot control. Traditional inverse kinematics methods are typically based on solving the end-effector position or orientation point by point, using a method of solving each end-effector individually and then combining the results.

[0004] Existing technologies fail to consider the coupling relationships between tasks, focusing primarily on the end-effector and lacking the ability to model overall tasks across components. For example, when the left arm completes a task, the right arm should automatically yield based on space occupancy, rather than executing independently. Similarly, in grasping or obstacle avoidance scenarios, torso posture adjustment can significantly alleviate the reach pressure on both arms, but traditional control methods cannot proactively involve "non-task-critical segments." Therefore, the lack of overall task modeling capabilities across components results in low success rates when performing complex tasks. Summary of the Invention

[0005] This invention provides a robot control method, apparatus, device, storage medium, and product to improve the success rate of complex tasks.

[0006] According to one aspect of the present invention, a robot control method is provided, comprising: The system receives a task instruction from the target robot, decomposes the task instruction into at least one subtask, and configures attribute parameters for each subtask; wherein, the attribute parameters include at least a relaxable attribute label, which is used to indicate whether the relaxation mechanism is enabled during the solution process of the subtask; The target optimization variables and constraints corresponding to the task instruction are determined, the loss function of each subtask is constructed, and the target optimization model of the task instruction is constructed based on the loss function and constraints of each subtask; wherein, the loss function of each subtask is constructed based on the relaxable attribute label of each subtask. The control parameters of the target optimization variable are determined based on the target optimization model. Generate a target control command for the control parameters, and control the action of the target robot according to the target control command.

[0007] Further, a loss function for each of the sub-tasks is constructed, and a target optimization model for the task instruction is constructed based on the loss function of each of the sub-tasks and the constraints, including: For each subtask, the expression form of the loss function is determined according to the relaxed attribute label, and the difference between the observed state and the expected state of the subtask is used as the independent variable of the loss function to obtain the loss function; wherein, the loss function includes at least the relaxation factor of the subtask; The total objective function of the task instruction is obtained by weighted summing of the loss functions of each sub-task; The combination of the overall objective function and the constraints is used as the objective optimization model for the task instruction.

[0008] Further, determining the expression form of the loss function based on the relaxed attribute label includes: If the relaxed attribute label indicates that the subtask enables the relaxation mechanism during the solution process, then the loss function is determined to be of the first type; If the relaxed attribute label indicates that the relaxation mechanism is not enabled during the solution process of the subtask, then the loss function is determined to be of the second type; Wherein, the relaxation factor of the loss function of the first type is a first target value, and the relaxation factor of the loss function of the second type is zero or a second target value, wherein the first target value is greater than zero, and the second target value is greater than zero and less than the first target value.

[0009] Furthermore, when the absolute value of the difference between the observed state and the desired state of the subtask is less than the relaxation factor, the loss function exhibits a quadratic penalty characteristic; when the absolute value of the difference between the observed state and the desired state of the subtask is greater than the relaxation factor, the loss function exhibits a linear penalty characteristic.

[0010] Furthermore, the overall objective function also includes a smoothing regularization term, which includes at least one of a history consistency term, a velocity term, and an acceleration term.

[0011] Furthermore, the constraints include hard constraints and soft constraints, wherein the hard constraints are conditions that must be met, and the soft constraints are conditions that can be violated.

[0012] Further, determining the control parameters of the target optimization variable based on the target optimization model includes: Based on the target optimization model, the target optimization variables are iteratively solved to obtain the optimal solution for the target optimization variables; The optimal solution is used as the control parameter quantity of the target optimization variable.

[0013] Further, the objective optimization variables are iteratively solved based on the objective optimization model, including: Get the initial values ​​for the iteration; A feasibility check is performed on the initial value of the iteration. If the initial value of the iteration satisfies the constraint condition, the initial value of the iteration is used as the target initial value. If the initial value of the iteration does not satisfy the constraint condition, the initial value of the iteration is projected into the feasible region, and the projection result is used as the target initial value. Based on the initial target value and in conjunction with a preset algorithm, determine the solution for the target optimization variable; The solution of the target optimization variable is used as the target initial value. The process returns to the step of determining the solution of the target optimization variable based on the target initial value and in combination with a preset algorithm, until the set iteration stop condition is met.

[0014] Furthermore, the preset algorithm includes a solution algorithm and an acceleration algorithm. The solution algorithm includes at least one of the Gauss-Newton iteration method, the Levenberg-Marquardt method, and the sequential quadratic programming algorithm. The acceleration algorithm includes at least one of the sparse matrix factorization algorithm and the parallel computing algorithm.

[0015] Furthermore, the method also includes: During the process of solving the target optimization variables, the solution time, number of iterations, solution status, and model error are monitored. If an abnormal situation is detected, the target optimization model is adjusted to obtain a new target optimization model; wherein, the abnormal situation includes at least one of the following: the solution time is greater than a set time threshold, the number of iterations is greater than a preset maximum number, the solution status is a solution failure, and the model error exceeds a set number of cycles without convergence; Based on the new objective optimization model, the objective optimization variables are re-solved.

[0016] Furthermore, the attribute parameters include weight coefficients, relaxation factors, and priority levels corresponding to each subtask, and the adjustment of the target optimization model includes: Adjust the weight coefficients corresponding to each subtask in the target optimization model; and / or Adjust the relaxation factor corresponding to each subtask in the target optimization model; and / or Based on the priority level corresponding to each subtask, low-priority tasks are extracted from each subtask and deleted from the target optimization model.

[0017] Further, after generating the target control command for the control parameter quantity and controlling the action of the target robot according to the target control command, the method further includes: Obtain feedback data after the execution of the target control command, update the target optimization model based on the feedback data, and return to the step of determining the control parameter quantity of the target optimization variable based on the target optimization model.

[0018] According to another aspect of the present invention, a robot control device is provided, comprising: The subtask decomposition module is used to receive the task instructions of the target robot, decompose the task instructions into at least one subtask, and configure attribute parameters for each subtask; wherein, the attribute parameters include at least a relaxable attribute label, which is used to indicate whether the relaxation mechanism is enabled during the solution process of the subtask; The objective optimization model construction module is used to determine the objective optimization variables and constraints corresponding to the task instruction, construct the loss function of each sub-task, and construct the objective optimization model of the task instruction based on the loss function and constraints of each sub-task; wherein, the loss function of each sub-task is constructed based on the relaxable attribute label of each sub-task. A control parameter determination module is used to determine the control parameter quantities of the target optimization variable based on the target optimization model. The target robot control module is used to generate target control instructions for the control parameters and control the action of the target robot according to the target control instructions.

[0019] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, which enables the at least one processor to perform the robot control method according to any embodiment of the present invention.

[0020] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the robot control method according to any embodiment of the present invention.

[0021] According to another aspect of the present invention, a computer program product is provided, the computer program product comprising a computer program / instructions, which, when executed by a processor, implement the steps of the robot control method described in any embodiment of the present invention.

[0022] The robot control method disclosed in this invention first receives a task instruction from a target robot, decomposes the task instruction into at least one sub-task, and configures attribute parameters for each sub-task. The attribute parameters include at least a relaxable attribute label, which indicates whether a relaxation mechanism is enabled during the solution process of the sub-task. Then, the target optimization variables and constraints corresponding to the task instruction are determined, a loss function for each sub-task is constructed, and a target optimization model for the task instruction is built based on the loss function and constraints of each sub-task. The loss function for each sub-task is constructed based on the relaxable attribute label of each sub-task. Next, the control parameters of the target optimization variables are determined based on the target optimization model. Finally, a target control instruction with the control parameters is generated, and the target robot's actions are controlled according to the target control instruction. This robot control method, by decomposing the target task instruction into sub-tasks and constructing a loss function for each sub-task based on its relaxable attribute label, performs overall task modeling of the target robot's task instruction. This enables conflict resolution and dynamic yielding capabilities between sub-tasks, thereby improving the success rate of complex tasks and the flexibility of robot control.

[0023] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description

[0024] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying 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.

[0025] Figure 1 This is a flowchart of a robot control method provided according to Embodiment 1 of the present invention; Figure 2 This is a flowchart of a robot control method provided according to Embodiment 2 of the present invention; Figure 3 This is a schematic diagram of the structure of a robot control device according to Embodiment 3 of the present invention; Figure 4 This is a schematic diagram of the structure of an electronic device that implements the robot control method of Embodiment 4 of the present invention. Detailed Implementation

[0026] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0027] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0028] Example 1 Figure 1 This is a flowchart of a robot control method provided in Embodiment 1 of the present invention. This embodiment is applicable to situations involving the control of a robot's movements and postures. The method can be executed by a robot control device, which can be implemented in hardware and / or software and can be configured in an electronic device. For example... Figure 1 As shown, the method includes: S110: Receive the task instruction from the target robot, decompose the task instruction into at least one sub-task, and configure attribute parameters for each sub-task.

[0029] In this context, the target robot is the robot being controlled to perform a task according to the robot control method of this embodiment; the task instruction is input information describing the full-body motion target that the target robot should complete, such as "Put the apple on the table into the plate." To implement the task instruction, the robot needs to perform full-body coupled motion, which is then decomposed into independently processable subtasks. Attribute parameters are parameters configured for each subtask during the task parsing phase, including at least relaxable attribute labels.

[0030] In this embodiment, after receiving the task instruction, the task parsing can transform "what the upper layer wants the robot to do" into "the input of a solvable mathematical problem". That is, the multi-source, heterogeneous, and unstructured task instructions from the heterogeneous upper layer are uniformly transformed into a standardized set of subtask vectors with complete attribute labels that can be directly processed by the downstream modeling module. Furthermore, by configuring attribute parameters for each subtask, the conflicts between subtasks can be resolved.

[0031] Preferably, the target robot may need to mobilize one or more end-effectors to fulfill the task instructions, such as the left arm end-effector, right arm end-effector, and torso end-effector. After receiving the task instructions from the target robot, the task instructions can be decomposed according to the end-effectors associated with them, matching the whole-body motion target to each end-effector of the target robot, so that each sub-task corresponds to one end-effector. For example, the end-effectors corresponding to the task instruction of the target robot lifting an object with both hands may include the left arm end-effector, right arm end-effector, and torso end-effector. Then, the task instruction can be decomposed into a left arm end-effector position tracking sub-task, a right arm end-effector position tracking sub-task, and a torso posture stabilization sub-task.

[0032] Preferably, the attribute parameters include at least a relaxable attribute label, which indicates whether the relaxation mechanism is enabled during the solution process of the subtask. "Relaxation" means that when the relaxation mechanism is enabled during the solution process of the subtask, the task can be softened and yielded to a certain extent, allowing a certain degree of error between the end position / attitude and the task target.

[0033] Preferably, the attribute parameters may also include weight coefficients, priority levels, and accuracy levels for each subtask. The weight coefficients are the weight values ​​of each subtask in the target optimization model of the task instruction; the priority level describes the order of priority among the subtasks; and the accuracy level is the required level of precision for each subtask.

[0034] Preferably, task instructions can be received through devices such as a task planner, a remote control interface, or an upper-level behavior decision-maker. Task instructions can include, but are not limited to, multi-source input targets such as end-point position targets, direction requirements, speed requirements, and attitude stability indicators.

[0035] S120. Determine the target optimization variables and constraints corresponding to the task instructions, construct the loss function for each sub-task, and construct the target optimization model for the task instructions based on the loss function and constraints of each sub-task.

[0036] In this model, the target optimization variable refers to the physical quantity that the robot needs to maintain at a specific value or change according to a specific pattern to execute task instructions. Examples include the angle of the robotic arm joints, the gripping force when grasping an object, and the torso tilt angle. Constraints are restrictions on the values ​​or range of behavior of these variables, used to ensure the solution remains within a feasible range. The loss function for each subtask measures the difference between the task objective and the actual value for each subtask. The target optimization model for task instructions transforms the control problem into a mathematical optimization problem. Under the premise of satisfying system dynamics constraints and physical / safety limitations, it calculates the optimal control input by minimizing (or maximizing) a certain performance objective (such as tracking error).

[0037] Preferably, the loss function for each subtask is constructed based on the slackable attribute label of each subtask.

[0038] Specifically, the type of loss function for each subtask can be determined based on the relaxation attribute label of each subtask. If the relaxation attribute label indicates that the subtask enables the relaxation mechanism during the solution process, the corresponding loss function is a loss function with relaxation yielding capability; if the relaxation attribute label indicates that the subtask does not enable the relaxation mechanism during the solution process, the corresponding loss function is a loss function without relaxation yielding capability.

[0039] Preferably, the constraints include hard constraints and soft constraints, wherein hard constraints are conditions that must be met, and soft constraints are conditions that can be violated.

[0040] Specifically, in solving the objective optimization model, all constraints (including hard and soft constraints) should be satisfied as much as possible. If the solution fails, times out, or the error does not converge for a long time, one or more soft constraints can be violated while ensuring that the hard constraints are satisfied, in order to improve the success rate of the task.

[0041] In this embodiment, the loss function type for each subtask is determined based on its slackable attribute label. The independent variable of the loss function can be determined based on the difference between the observed state and the desired state of each subtask, thus enabling the construction of the corresponding loss function for the subtask. For example, the loss function can be represented by ρ(e), where the independent variable e is the difference between the observed state and the desired state of the subtask.

[0042] Preferably, after constructing the loss functions for each subtask, the overall objective function of the task instruction can be obtained by weighted summation of the loss functions of each subtask. The weight of each subtask can be determined based on its importance in the implementation of the action execution instruction; more important subtasks have larger weights. Finally, the combination of the overall objective function and the constraints can be used as the objective optimization model for the task instruction.

[0043] S130. Determine the control parameters of the target optimization variables based on the target optimization model.

[0044] Among them, the control parameter quantity of the target optimization variable is the specific value of the target optimization variable on which the target robot executes the corresponding task instructions.

[0045] In this embodiment, the control parameters of the target optimization variable can be obtained by solving the target optimization model. Based on the target optimization model, a set algorithm can be used to iteratively solve the modeling problem.

[0046] Preferably, the Gauss-Newton method and the Levenberg-Marquardt method can be used, and sequential quadratic programming (SQP) can be employed when necessary to handle nonlinear constraints. The Gauss-Newton algorithm is an iterative optimization method for solving nonlinear least squares problems. It approximates the residual function through a first-order Taylor expansion (linearization) and can efficiently iteratively update parameters to minimize the sum of squared residuals. The Levenberg-Marquardt algorithm is also an iterative optimization algorithm for solving nonlinear least squares problems, combining the fast convergence of the Gauss-Newton algorithm with the stability of gradient descent, and adaptively adjusting the search direction through damping parameters. The SQP algorithm is an iterative algorithm for solving nonlinear constrained optimization problems. Its core idea is to construct and solve a quadratic programming subproblem in each iteration to approximate the optimal solution of the original problem.

[0047] Furthermore, sparse matrix decomposition, parallel computing, and initial value projection strategies can be adopted to ensure that the optimization iteration process is completed within 10ms, adapting to the 200Hz control frequency requirement.

[0048] S140. Generate target control instructions for control parameters, and control the action of the target robot according to the target control instructions.

[0049] The target control command is an electrical signal that can be parsed and executed by the actuator, and it contains control parameters.

[0050] In this embodiment, after obtaining the control parameters, they can be converted into target control commands and sent to the target robot's actuator for execution. The actuator is the component of the robot that converts control signals into actual mechanical motion; for example, it could be a servo drive. After receiving the target control command, the actuator can drive the robot body to move by executing the command.

[0051] The robot control method disclosed in this invention first receives a task instruction from a target robot, decomposes the task instruction into at least one sub-task, and configures attribute parameters for each sub-task. The attribute parameters include at least a relaxable attribute label, which indicates whether a relaxation mechanism is enabled during the solution process of the sub-task. Then, the target optimization variables and constraints corresponding to the task instruction are determined, a loss function for each sub-task is constructed, and a target optimization model for the task instruction is built based on the loss function and constraints of each sub-task. The loss function for each sub-task is constructed based on the relaxable attribute label of each sub-task. Next, the control parameters of the target optimization variables are determined based on the target optimization model. Finally, a target control instruction with the control parameters is generated, and the target robot's actions are controlled according to the target control instruction. This robot control method, by decomposing the target task instruction into sub-tasks and constructing a loss function for each sub-task based on its relaxable attribute label, performs overall task modeling of the target robot's task instruction. This enables conflict resolution and dynamic yielding capabilities between sub-tasks, thereby improving the success rate of complex tasks and the flexibility of robot control.

[0052] Example 2 Figure 2 This is a flowchart of a robot control method provided in Embodiment 2 of the present invention. This embodiment is a refinement of the above embodiment, such as... Figure 2 As shown, the method includes: S210: Receive the task instruction from the target robot, decompose the task instruction into at least one sub-task, and configure attribute parameters for each sub-task.

[0053] Among them, the attribute parameters include at least a relaxable attribute label, which is used to indicate whether the relaxation mechanism is enabled during the solution process of the subtask.

[0054] In this context, the target robot is the robot being controlled to perform a task according to the robot control method of this embodiment; the task instruction is input information describing the full-body motion target that the target robot should complete, such as "Put the apple on the table into the plate." To implement the task instruction, the robot needs to perform full-body coupled motion, which is then decomposed into independently processable subtasks. Attribute parameters are parameters configured for each subtask during the task parsing phase, including at least relaxable attribute labels.

[0055] In this embodiment, after receiving the task instruction, the task parsing can transform "what the upper layer wants the robot to do" into "the input of a solvable mathematical problem". That is, the multi-source, heterogeneous, and unstructured task instructions from the heterogeneous upper layer are uniformly transformed into a standardized set of subtask vectors with complete attribute labels that can be directly processed by the downstream modeling module. Furthermore, by configuring attribute parameters for each subtask, the conflicts between subtasks can be resolved.

[0056] Preferably, the target robot may need to mobilize one or more end-effectors to fulfill the task instructions, such as the left arm end-effector, right arm end-effector, and torso end-effector. After receiving the task instructions from the target robot, the task instructions can be decomposed according to the end-effectors associated with them, matching the whole-body motion target to each end-effector of the target robot, so that each sub-task corresponds to one end-effector. For example, the end-effectors corresponding to the task instruction of the target robot lifting an object with both hands may include the left arm end-effector, right arm end-effector, and torso end-effector. Then, the task instruction can be decomposed into a left arm end-effector position tracking sub-task, a right arm end-effector position tracking sub-task, and a torso posture stabilization sub-task.

[0057] Preferably, the attribute parameters include at least a relaxable attribute label, which indicates whether the relaxation mechanism is enabled during the solution process of the subtask. "Relaxation" means that when the relaxation mechanism is enabled during the solution process of the subtask, the task can be softened and yielded to a certain extent, allowing for a certain degree of error between the end position / attitude and the target.

[0058] Preferably, the attribute parameters may also include weight coefficients, priority levels, and accuracy levels for each subtask. The weight coefficients are the weight values ​​of each subtask in the target optimization model of the task instruction; the priority level describes the order of priority among the subtasks; and the accuracy level is the required level of precision for each subtask.

[0059] Preferably, task instructions can be received through devices such as a task planner, a remote control interface, or an upper-level behavior decision-maker. Task instructions can include, but are not limited to, multi-source input targets such as end-point position targets, direction requirements, speed requirements, and attitude stability indicators.

[0060] S220. Determine the target optimization variables and constraints corresponding to the task instructions. For each subtask, determine the expression form of the loss function based on the slack attribute labels. Use the difference between the observed state and the expected state of the subtask as the independent variable of the loss function to obtain the loss function.

[0061] The target optimization variable refers to the physical quantity that the target robot needs to maintain at a specific value or change according to a specific pattern to execute task instructions. Examples include the angle of the robotic arm joints, the gripping force when grasping an object, and the torso tilt angle. Constraints are restrictions on the values ​​or behavioral range of the variables, used to ensure the solution remains feasible, including hardware physical parameter constraints and safety requirement constraints. The loss function for each subtask measures the difference between the task objective and the actual value for each subtask.

[0062] In this embodiment, the loss function for each subtask is constructed based on the relaxable attribute label of each subtask. The loss function includes at least the relaxation factor of the subtask.

[0063] Optionally, the method for determining the expression form of the loss function based on the relaxable attribute label can be as follows: if the relaxable attribute label indicates that the subtask enables the relaxation mechanism during the solution process, then the loss function is determined to be of the first type; if the relaxable attribute label indicates that the subtask does not enable the relaxation mechanism during the solution process, then the loss function is determined to be of the second type; wherein, the relaxation factor of the loss function of the first type is the first target value, and the relaxation factor of the loss function of the second type is zero or the second target value, wherein the first target value is greater than zero, and the second target value is greater than zero and less than the first target value.

[0064] Specifically, the relaxation factor controls the saturation rate and yield strength of the loss function. A large relaxation factor means that the loss function saturates quickly when the error is small, making it easier for the task to yield; a small relaxation factor means that the loss function saturates only when the error is extremely large, favoring precise tracking; when the relaxation factor is 0, the loss function tracks precisely and loses its relaxation and yield capabilities.

[0065] Furthermore, the relaxation factor and the relaxable attribute label can be configured in conjunction: when the relaxable attribute label indicates that the subtask enables the relaxation mechanism during the solution process, the relaxation factor is set to a first target value greater than zero to expand the error tolerance bandwidth and make the task more likely to yield; when the relaxable attribute label indicates that the subtask does not enable the relaxation mechanism during the solution process, the relaxation factor is set to 0 or set to a second target value less than the first target value to reduce the error tolerance bandwidth and make the task more inclined to precise tracking.

[0066] In this embodiment, the independent variable of the loss function is the difference between the observed state and the expected state of the subtask. By determining the expression form and independent variable of the loss function, the loss function of the subtask can be obtained.

[0067] Furthermore, when the absolute value of the difference between the observed state and the desired state of the subtask is less than the relaxation factor, the loss function exhibits a quadratic penalty characteristic; when the absolute value of the difference between the observed state and the desired state of the subtask is greater than the relaxation factor, the loss function exhibits a linear penalty characteristic.

[0068] Specifically, for each subtask, the target optimization variable is represented by q; the desired state of the subtask is the spatial target (spatial position and orientation intuitively understood by humans), such as the end-effector's 3D coordinates, end-effector rotation posture, torso posture, etc., which can be represented by y; the observed state, such as the 3D position mapping of the arm's end-effector, the torso rotation posture mapping, etc., can be represented by f(q); let e = f(q) - y, then e is the tracking error, that is, the difference between the observed state and the desired state of the subtask. The loss function can be represented by ρ(e), where the expression of ρ(e) is determined according to the relaxable attribute label, and ρ(e) includes at least the relaxation factor of the subtask.

[0069] Preferably, the loss function for the sub-task can be expressed in the form of the loss function of the GloVe (Global Vectors for Word Representation) model, which is a weighted least squares regression loss, mathematically defined as follows: Here, α is the relaxation factor.

[0070] Specifically, α controls the saturation rate and yield strength of the loss function. If the relaxable attribute label indicates that the subtask enables the relaxation mechanism during the solution process, then α is a first objective value greater than zero; otherwise, α is a second objective value that is zero or less than the first objective value. This loss function approximates a quadratic penalty when the absolute value of the tracking error is less than the relaxation factor α, ensuring convergence in accuracy; when the absolute value of the tracking error is greater than the relaxation factor α, the loss function tends to saturate, exhibiting linear penalty characteristics, avoiding optimization from getting stuck in oscillations or unreachable deadlocks, thus reflecting the characteristics of relaxation inverse kinematics.

[0071] The adjustment rule for α is as follows: a large value of α leads to rapid saturation when the error is very small, making it easier for the task to yield; a small value of α only leads to saturation when the error is extremely large, favoring more precise tracking; when α=0, the loss function degenerates into the traditional quadratic loss function. They lose their ability to relax and yield.

[0072] Furthermore, the objective optimization function can also take the form of other loss functions, such as Huber Loss, smoothing dead zone, arctangent, and other saturation / quasi-saturation functions.

[0073] S230. The total objective function of the task instruction is obtained by weighted summation of the loss functions of each subtask.

[0074] In this embodiment, after obtaining the loss function of each subtask, the total objective function of the task instruction is obtained by weighted summation of the loss functions.

[0075] Optionally, if the overall objective function of the task instructions is represented by h(q), then: In the formula, N represents the total number of subtasks, i = 1, 2, ..., N. i w is the weight coefficient of the i-th subtask. i A larger value indicates a more important task, and a smaller margin for compromise when subtasks conflict. ρ i (e i Let ) be the loss function for the i-th subtask; e i Let e ​​be the difference between the observed state and the desired state of the i-th subtask. i = f i (q)-y i ;f i (q) represents the observed state of the i-th subtask; q is the objective optimization variable; y i Let be the desired state of the i-th subtask. Here, the objective optimization function ρ... i (e i The relaxation influence factor α, which includes the control parameter to be determined, is included. i .

[0076] Furthermore, the overall objective function also includes a smoothing regularization term, which includes at least one of a history consistency term, a velocity term, and an acceleration term.

[0077] Specifically, to constrain the variation of model parameters or output results, making them more continuous, stable, and avoiding drastic oscillations, thereby improving the model's generalization ability and robustness, smoothing regularization terms such as historical consistency terms, velocity terms, and acceleration terms can be superimposed on the objective optimization model of action execution instructions. The resulting overall objective function is as follows: in, For historical consistency, w hist Let q be the historical consistency coefficient. t-1 Optimize the values ​​of the variables for the previous target; For the velocity term, w vel The velocity coefficient; For acceleration, w acc This is the acceleration coefficient.

[0078] Furthermore, for high-degree-of-freedom redundant robots, an optimizer (a numerical solution tool / solver for solving optimization problems) can automatically adjust redundant degrees of freedom in the joint space, such as thoracolumbar twisting and changes in the shoulder angle, thereby improving target accessibility and space utilization. Preferably, a construction posture preference term (redundancy utilization) can be added to the constructed overall objective function H(q) to guide redundant joints toward a comfortable position.

[0079] S240. The combination of the overall objective function and constraints is used as the objective optimization model for the task instructions.

[0080] Constraints are restrictions on the range of values ​​or behaviors of variables, used to ensure that the solution is within a feasible range. Constraints include hard constraints and soft constraints. Hard constraints are constraints that must be met, while soft constraints are constraints that can be violated.

[0081] In this embodiment, hard constraints and soft constraints can be used to limit the range of variable values ​​or behaviors to ensure that the solution is within a feasible range. Preferably, hard constraints and soft constraints may include: (1) End-of-arm constraint: Ensure that the ends of the left and right arms meet the expected position and posture requirements respectively, and maintain the relative spatial relationship (such as synchronicity in handling and lifting tasks).

[0082] (2) Torso end constraint: to ensure that the torso remains stable or meets the necessary directional requirements during operation, thereby assisting the arms in performing tasks.

[0083] (3) Arm angle constraint: Introduce a constraint to limit the angle between the two arms in order to avoid self-collision of the two arms and spatial conflict.

[0084] (4) Velocity, acceleration and jerk constraint: At the joint level, the changes in joint velocity, acceleration and jerk are restricted to ensure the smoothness of the output trajectory and control feasibility. Jerk constraint refers to the constraint on the rate of change of the object's acceleration in motion planning and control.

[0085] (5) Stay away from joint limit constraints: By using the barrier function (barrier penalty function), the joint angle is always kept away from the physical limit, which improves the operational safety and life of the mechanism. The barrier function is a special penalty function used to deal with inequality constraints in constraint optimization.

[0086] (6) Operational index constraints: Constructed based on the robot Jacobian matrix J Here, q is the target optimization variable, preferably the angle vectors of all driven joints of the robot, J is the task Jacobian matrix corresponding to the current target optimization variable q, and μ(q) is the operability index (Yoshikawa operability index). Adding the maximization constraint of μ(q) to the optimization objective can improve the robot's flexibility and resistance to singularities when performing tasks. Specifically, the larger the value of μ(q), the more balanced the end effector's motion capabilities in all directions, and the more flexible its posture; when μ(q) approaches 0, the degrees of freedom of motion are lost.

[0087] Once the constraints and the overall objective function are determined, a complete objective optimization model (objective function + constraints) can be obtained. Finally, the complete objective optimization model is output as: (H(q), list of constraints).

[0088] S250. Based on the target optimization model, iteratively solve the target optimization variables to obtain the optimal solution of the target optimization variables, and use the optimal solution as the control parameter of the target optimization variables.

[0089] In this embodiment, after determining the target optimization model, the target optimization variables can be solved iteratively.

[0090] Optionally, the method for iteratively solving the target optimization variable based on the target optimization model can be as follows: obtaining initial values ​​for iteration; performing a feasibility check on the initial values ​​for iteration; if the initial values ​​for iteration satisfy the constraints, then using the initial values ​​for iteration as the target initial values; if the initial values ​​for iteration do not satisfy the constraints, then projecting the initial values ​​for iteration into the feasible region and using the projection result as the target initial values; determining the solution to the target optimization variable based on the target initial values ​​and in conjunction with a preset algorithm; using the solution to the target optimization variable as the target initial values, returning to execute the step of determining the solution to the target optimization variable based on the target initial values ​​and in conjunction with a preset algorithm, until the set iteration stopping condition is reached.

[0091] The specific solution steps are as follows: (1) Obtain initial value: At the beginning of each control cycle, obtain the initial value of the iteration.

[0092] Preferably, the initial value for the current iteration can be determined based on the optimal solution of the previous cycle. After obtaining the optimal solution of the previous cycle, it can be checked whether the solution satisfies the constraints of the current cycle. If not, initial value projection can be used: that is, the optimal solution of the previous cycle is projected into the feasible region (such as pulling back the joint limit), and the projected value is set as the target initial value.

[0093] (2) Iterative solution: Use the preset algorithm to perform iterative solution.

[0094] Preferably, the algorithm used in problem solving can be predetermined based on the problem characteristics during system initialization. The preset algorithm includes a solution algorithm and an acceleration algorithm. The solution algorithm includes at least one of the Gauss-Newton iteration method, the Levenberg-Marquardt method, and sequential quadratic programming (SQP). The acceleration algorithm includes sparse matrix factorization and / or parallel computing algorithms. For example, the Gauss-Newton method and the Levenberg-Marquardt algorithm can be selected, and sequential quadratic programming (SQP) can be used when necessary to handle nonlinear constraints. Furthermore, sparse matrix factorization, parallel computing, and initial value projection strategies can be used to ensure that the optimization iteration process is completed within 10ms to adapt to the robot's 200Hz control frequency requirement.

[0095] (3) Output: The optimal solution q of the control parameters to be determined that satisfy all conditions. * And solve the status flags, and package them into target control commands.

[0096] The solution status flags can be a set of enumerated status codes (such as SUCCESS, RELAXED_SUCCESS, TIMEOUT, etc.) output after solving the target optimization model. These flags inform the upper-level module whether the solution result is a normal success, a downgrade success, or a failure, and the reason for the failure. The solution status flags can guide the adjustment of task parameters and target optimization model parameters, and guide the processing strategy after the target control commands are executed.

[0097] Furthermore, during the process of solving the target optimization variables, the solution time, number of iterations, solution status, and model error can be monitored. If an abnormal situation is detected, the target optimization model is adjusted to obtain a new target optimization model. The abnormal situation includes at least one of the following: the solution time exceeds the set time threshold, the number of iterations exceeds the preset maximum number, the solution status is a solution failure, and the model error exceeds the set number of periods without convergence. Based on the new target optimization model, the target optimization variables are solved again.

[0098] Specifically, during the process of solving the target optimization variables, the solution time, number of iterations, solution status, and model error can be statistically analyzed. If abnormal situations occur, such as the solution time exceeding the set time threshold, the number of iterations exceeding the preset maximum number, the solution status being a solution failure, or the model error exceeding the set number of cycles without convergence, the target optimization model can be adjusted, and the target optimization variables can be re-solved based on the adjusted new target optimization model.

[0099] Preferably, the attribute parameters of each subtask include the weight coefficient, relaxation factor, and priority level of each subtask. The method for adjusting the target optimization model may be: adjusting the weight coefficient of each subtask in the target optimization model; and / or adjusting the relaxation factor of each subtask in the target optimization model; and / or extracting low-priority tasks from each subtask according to the priority level of each subtask and deleting low-priority tasks from the target optimization model.

[0100] Specifically, in addition to the conventional solution implementation steps, anomaly detection and soft-failure mechanisms can be designed to continuously monitor the solution process and trigger a backup strategy when anomalies are detected. When anomalies occur, soft-failure adjustment operations can be initiated, such as adjusting weights, reducing relaxation factors, or abandoning low-priority tasks. For example, for each subtask, if the solution time exceeds a set time threshold or the number of iterations exceeds a preset maximum, the corresponding weight coefficient is reduced or the corresponding relaxation factor is increased. If a solution failure is detected, low-priority tasks are extracted from each subtask based on their priority level and removed from the target optimization model. When the task objective fails to converge for an extended period or the optimization time is excessively long, the constraint relaxation and soft-failure execution mechanism is automatically triggered. This means that, while ensuring system stability, the target accuracy requirement is reduced, some low-priority tasks are abandoned, and the system is replanned, thereby preventing the system from deadlocking.

[0101] Furthermore, during the iterative solution process, the weight coefficients w of each subtask can be adjusted in real time based on the error trend and reachability. i This allows for task mitigation and accuracy concessions. For example, if the tracking error of a subtask fails to converge for multiple consecutive cycles or the task objective is temporarily unattainable, the weight coefficient of that task can be automatically reduced to avoid global solution failure.

[0102] After updating the constraint parameters, the optimal solution for each control parameter to be determined can be determined through iterative solving, and each optimal solution can be used as the control parameter quantity for the corresponding control parameter to be determined.

[0103] S260: Generate target control instructions for control parameters, and control the action of the target robot according to the target control instructions.

[0104] In this embodiment, after obtaining the control parameters, they can be converted into target control commands and sent to the corresponding actuators for execution. The actuator is the component of the robot that converts control signals into actual mechanical motion; for example, it could be a servo drive. After receiving the target control command, the actuator can drive the robot body to move by executing the command.

[0105] Furthermore, after obtaining the target control command, the control parameters can be post-processed, including filtering, joint speed limiting, interpolation and trajectory smoothing, and the processing results can be sent to the robot actuator to ensure that the control output is executable and real-time. Finally, the actuator executes the target control command and drives the robot body to move.

[0106] Preferably, the method for post-processing the control parameters may include, but is not limited to: Filtering: The optimal solution q for the target optimization variable. * Low-pass filtering is performed to eliminate numerical jitter during the solution process; Speed ​​limit: Ensure again that joint speed and acceleration commands do not exceed physical limits; Smoothing: Polynomial interpolation is performed between two control cycles to generate a smooth, continuous trajectory; Trajectory filtering and interpolation mechanism: To further improve the smoothness of the output trajectory, low-pass filtering and cubic spline interpolation can be performed on the joint angle sequence to eliminate discreteness and high-frequency noise in the optimization process.

[0107] Furthermore, after generating the target control command for the control parameters and controlling the action of the target robot according to the target control command, it is also possible to: obtain feedback data after the execution of the target control command, update the target optimization model according to the feedback data, and return to the step of determining the control parameters of the target optimization variables based on the target optimization model.

[0108] Specifically, after the actuator executes the target control command, it can acquire feedback data by collecting sensor data, such as joint angles, velocities, motion information collected by the inertial measurement unit (IMU data), and force sensor data. Then, based on the feedback data and the target optimization variable q in the target control command, it can... * Update the tracking error e for each subtask i And will include feedback data, tracking error, and q * In the next cycle, the initial values ​​are determined and the target optimization model and task parameters are adjusted to continue solving and generating new target control commands.

[0109] The robot control method disclosed in this invention decomposes the target task instruction into multiple subtasks and sets a relaxation attribute label to indicate whether the relaxation mechanism is enabled during the solution process for each subtask. A loss function is constructed for each subtask based on its relaxation attribute label. This enables conflict resolution and dynamic yielding capabilities between subtasks. Furthermore, when encountering a short-term unattainable goal, the method avoids getting stuck by reducing task accuracy, adjusting task parameters, or temporarily yielding to lower-priority goals, significantly improving the success rate of complex tasks and making robot control more flexible. In addition, by optimizing the smoothness control of the solution and using a historical trajectory consistency weighting mechanism, the robot can achieve smooth joint switching and coherent, natural movements when performing continuous operations, making it particularly suitable for applications requiring visual representation, such as service and display.

[0110] Example 3 Figure 3 This is a schematic diagram of the structure of a robot control device provided in Embodiment 3 of the present invention, as shown below. Figure 3 As shown, the device includes: a subtask decomposition module 310, a target optimization model construction module 320, a control parameter determination module 330, and a target robot control module 340.

[0111] The subtask decomposition module 310 is used to receive the task instructions of the target robot, decompose the task instructions into at least one subtask, and configure attribute parameters for each subtask.

[0112] Among them, the attribute parameters include at least a relaxable attribute label, which is used to indicate whether the relaxation mechanism is enabled during the solution process of the subtask.

[0113] The target optimization model construction module 320 is used to determine the target optimization variables and constraints corresponding to the task instructions, construct the loss function of each sub-task, and construct the target optimization model of the task instructions based on the loss function and constraints of each sub-task.

[0114] The loss function for each subtask is constructed based on the slackable attribute label of each subtask.

[0115] The control parameter quantity determination module 330 is used to determine the control parameter quantity of the target optimization variable based on the target optimization model.

[0116] The target robot control module 340 is used to generate target control instructions for control parameters and control the action of the target robot according to the target control instructions.

[0117] Optionally, the target optimization model building module 320 is also used for: For each subtask, the expression form of the loss function is determined based on the relaxable attribute label. The difference between the observed state and the expected state of the subtask is used as the independent variable of the loss function to obtain the loss function. The loss function includes at least the relaxation factor of the subtask. The loss functions of each subtask are weighted and summed to obtain the overall objective function of the task instruction. The combination of the overall objective function and the constraints is used as the objective optimization model of the task instruction.

[0118] Optionally, the target optimization model building module 320 is also used for: If the "relaxable" attribute label indicates that the subtask uses a relaxation mechanism during the solution process, then the loss function is determined to be of the first type; if the "relaxable" attribute label indicates that the subtask does not use a relaxation mechanism during the solution process, then the loss function is determined to be of the second type. In the first type, the relaxation factor of the loss function is the first objective value, and the relaxation factor of the second type is zero or the second objective value, where the first objective value is greater than zero and the second objective value is greater than zero and less than the first objective value.

[0119] Optionally, when the absolute value of the difference between the observed state and the desired state of the subtask is less than the relaxation factor, the loss function exhibits a quadratic penalty characteristic; when the absolute value of the difference between the observed state and the desired state of the subtask is greater than the relaxation factor, the loss function exhibits a linear penalty characteristic.

[0120] Optionally, the overall objective function may also include a smoothing regularization term, which may include at least one of a history consistency term, a velocity term, and an acceleration term.

[0121] Optionally, constraints include hard constraints and soft constraints, where hard constraints are conditions that must be met, and soft constraints are conditions that can be violated.

[0122] Optionally, the control parameter determination module 330 is also used to: iteratively solve the target optimization variables based on the target optimization model to obtain the optimal solution of the target optimization variables; and use the optimal solution as the control parameter of the target optimization variables.

[0123] Optionally, the control parameter determination module 330 is also used for: Obtain the initial value for iteration; perform a feasibility check on the initial value for iteration. If the initial value for iteration satisfies the constraints, use it as the target initial value. If the initial value for iteration does not satisfy the constraints, project the initial value for iteration onto the feasible region and use the projection result as the target initial value; determine the solution for the target optimization variable based on the target initial value and a preset algorithm; use the solution for the target optimization variable as the target initial value and return to execute the steps of determining the solution for the target optimization variable based on the target initial value and a preset algorithm, until the set iteration stopping condition is met.

[0124] Optionally, the preset algorithm includes a solution algorithm and an acceleration algorithm. The solution algorithm includes at least one of the Gauss-Newton iteration method, the Levenberg-Marquardt method, and the sequential quadratic programming algorithm. The acceleration algorithm includes at least one of the sparse matrix factorization algorithm and the parallel computing algorithm.

[0125] Optionally, the control parameter determination module 330 is also used for: During the process of solving the target optimization variables, the solution time, number of iterations, solution status, and model error are monitored. If any abnormal situation is detected, the target optimization model is adjusted to obtain a new target optimization model. The abnormal situation includes at least one of the following: the solution time exceeds the set time threshold, the number of iterations exceeds the preset maximum number, the solution status is a solution failure, and the model error exceeds the set number of periods without convergence. Based on the new target optimization model, the target optimization variables are solved again.

[0126] Optionally, the attribute parameters include the weight coefficient, relaxation factor, and priority level corresponding to each subtask. The control parameter determination module 330 is also used for: Adjust the weight coefficients of each subtask in the objective optimization model; and / or adjust the relaxation factors of each subtask in the objective optimization model; and / or extract the low-priority tasks from each subtask according to their priority levels and delete them from the objective optimization model.

[0127] Optionally, the device is also used for: Obtain feedback data after the execution of the target control command, update the target optimization model based on the feedback data, and return to the step of determining the control parameter quantity of the target optimization variable based on the target optimization model.

[0128] The robot control device provided in the embodiments of the present invention can execute the robot control method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0129] Example 4 Figure 4 A schematic diagram of an electronic device 10, which can be used to implement embodiments of the present invention, is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0130] like Figure 4 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 can also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0131] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0132] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as robot control methods.

[0133] In some embodiments, the robot control method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or mounted on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the robot control described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to execute the robot control method by any other suitable means (e.g., by means of firmware).

[0134] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0135] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0136] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0137] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0138] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0139] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through a communication network. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.

Claims

1. A robot control method, characterized in that, include: The system receives a task instruction from the target robot, decomposes the task instruction into at least one subtask, and configures attribute parameters for each subtask; wherein, the attribute parameters include at least a relaxable attribute label, which is used to indicate whether the relaxation mechanism is enabled during the solution process of the subtask; The objective optimization variables and constraints corresponding to the task instruction are determined. For each subtask, if the relaxable attribute label indicates that the subtask uses a relaxation mechanism during the solution process, the loss function is determined to be of the first type; if the relaxable attribute label indicates that the subtask does not use a relaxation mechanism during the solution process, the loss function is determined to be of the second type. The difference between the observed state and the desired state of the subtask is used as the independent variable of the loss function to obtain the loss function. The loss functions of each subtask are weighted and summed to obtain the overall objective function of the task instruction. The combination of the overall objective function and the constraints is used as the objective optimization model of the task instruction. The loss function includes at least the relaxation factor of the subtask. The relaxation factor of the first type of loss function is a first target value, and the relaxation factor of the second type of loss function is zero or a second target value. The first target value is greater than zero, and the second target value is greater than zero and less than the first target value. The loss function of each subtask is constructed based on the relaxable attribute label of each subtask. When the absolute value of the difference between the observed state and the expected state of the subtask is less than the relaxation factor, the loss function exhibits a quadratic penalty characteristic. When the absolute value of the difference between the observed state and the expected state of the subtask is greater than the relaxation factor, the loss function exhibits a linear penalty characteristic. The control parameters of the target optimization variable are determined based on the target optimization model. Generate a target control command for the control parameters, and control the action of the target robot according to the target control command.

2. The method according to claim 1, characterized in that, The overall objective function also includes a smoothing regularization term, which includes at least one of a history consistency term, a velocity term, and an acceleration term.

3. The method according to claim 1, characterized in that, The constraints include hard constraints and soft constraints, wherein the hard constraints are conditions that must be met, and the soft constraints are conditions that can be violated.

4. The method according to claim 1, characterized in that, Determining the control parameters of the target optimization variable based on the target optimization model includes: Based on the target optimization model, the target optimization variables are iteratively solved to obtain the optimal solution for the target optimization variables; The optimal solution is used as the control parameter quantity of the target optimization variable.

5. The method according to claim 4, characterized in that, The objective optimization variables are iteratively solved based on the objective optimization model, including: Get the initial values ​​for the iteration; A feasibility check is performed on the initial value of the iteration. If the initial value of the iteration satisfies the constraint condition, the initial value of the iteration is used as the target initial value. If the initial value of the iteration does not satisfy the constraint condition, the initial value of the iteration is projected into the feasible region, and the projection result is used as the target initial value. Based on the initial target value and in conjunction with a preset algorithm, determine the solution for the target optimization variable; The solution of the target optimization variable is used as the target initial value. The process returns to the step of determining the solution of the target optimization variable based on the target initial value and in combination with a preset algorithm, until the set iteration stop condition is met.

6. The method according to claim 5, characterized in that, The preset algorithm includes a solution algorithm and an acceleration algorithm. The solution algorithm includes at least one of the Gauss-Newton iteration method, the Levenberg-Marquardt method, and the sequential quadratic programming algorithm. The acceleration algorithm includes at least one of the sparse matrix factorization algorithm and the parallel computing algorithm.

7. The method according to claim 4, characterized in that, The method further includes: During the process of solving the target optimization variables, the solution time, number of iterations, solution status, and model error are monitored. If an abnormal situation is detected, the target optimization model is adjusted to obtain a new target optimization model; wherein, the abnormal situation includes at least one of the following: the solution time is greater than a set time threshold, the number of iterations is greater than a preset maximum number, the solution status is a solution failure, and the model error exceeds a set number of cycles without convergence; Based on the new objective optimization model, the objective optimization variables are re-solved.

8. The method according to claim 7, characterized in that, The attribute parameters include the weight coefficients, relaxation factors, and priority levels corresponding to each subtask, and are used to adjust the target optimization model, including: Adjust the weight coefficients corresponding to each subtask in the target optimization model; and / or Adjust the relaxation factor corresponding to each subtask in the target optimization model; and / or Based on the priority level corresponding to each subtask, low-priority tasks are extracted from each subtask and deleted from the target optimization model.

9. The method according to claim 1, characterized in that, After generating the target control command for the control parameters and controlling the action of the target robot according to the target control command, the method further includes: Obtain feedback data after the execution of the target control command, update the target optimization model based on the feedback data, and return to the step of determining the control parameter quantity of the target optimization variable based on the target optimization model.

10. A robot control device, characterized in that, include: The subtask decomposition module is used to receive the task instructions of the target robot, decompose the task instructions into at least one subtask, and configure attribute parameters for each subtask; wherein, the attribute parameters include at least a relaxable attribute label, which is used to indicate whether the relaxation mechanism is enabled during the solution process of the subtask; The objective optimization model construction module is used to determine the objective optimization variables and constraints corresponding to the task instruction. For each subtask, if the relaxable attribute label indicates that the subtask uses a relaxation mechanism during the solution process, the loss function is determined to be of the first type; if the relaxable attribute label indicates that the subtask does not use a relaxation mechanism during the solution process, the loss function is determined to be of the second type. The difference between the observed state and the expected state of the subtask is used as the independent variable of the loss function to obtain the loss function. The loss functions of each subtask are weighted and summed to obtain the overall objective function of the task instruction. The combination of the overall objective function and the constraints is used as the objective optimization of the task instruction. The model includes a loss function that includes at least a relaxation factor for each subtask. The relaxation factor of the first type of loss function is a first target value, and the relaxation factor of the second type of loss function is zero or a second target value. The first target value is greater than zero, and the second target value is greater than zero and less than the first target value. The loss function for each subtask is constructed based on the relaxable attribute label of each subtask. When the absolute value of the difference between the observed state and the desired state of the subtask is less than the relaxation factor, the loss function exhibits a quadratic penalty characteristic. When the absolute value of the difference between the observed state and the desired state of the subtask is greater than the relaxation factor, the loss function exhibits a linear penalty characteristic. A control parameter determination module is used to determine the control parameter quantities of the target optimization variable based on the target optimization model. The target robot control module is used to generate target control instructions for the control parameters and control the action of the target robot according to the target control instructions.

11. An electronic device, characterized in that, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the robot control method according to any one of claims 1-9.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that are used to cause a processor to execute the robot control method according to any one of claims 1-9.

13. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the robot control method as described in any one of claims 1-9.

Citation Information

Patent Citations

  • Control method, device and equipment of humanoid robot joint and medium

    CN113715030A

  • Control method and apparatus for movable platform, movable platform, and storage medium

    WO2021189215A1