Robot force control motion method and device based on composite action flow

By decomposing force-controlled motion into basic motion modules and using torque sensor information for real-time adjustment, the problem of multi-degree-of-freedom coordinated force control of robots on complex workpieces is solved, achieving precise control and equipment protection.

CN121552369APending Publication Date: 2026-02-24SHANGHAI QI ZHI INSTITUTE
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511984908.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-26
Publication Date
2026-02-24

AI Technical Summary

Technical Problem

Existing technologies struggle to construct and execute complex motion logic, resulting in robots being unable to achieve multi-degree-of-freedom coordinated force control when facing workpieces with diverse curved or angular surfaces. This can lead to workpiece surface damage and robot joint overload, causing mechanical wear.

Method used

Force-controlled motion is decomposed into sub-motion sequences of multiple basic motion modules, and the motion is integrated through a robot composite module. Torque sensor information is used to adjust the force-controlled motion in real time, generate joint commands, and realize intelligent decision-making and closed-loop control.

Benefits of technology

It reduces wear and tear on robotic mechanical equipment, improves work efficiency, ensures consistency and stability of force-controlled operations, and avoids equipment damage caused by mismatched actions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121552369A_ABST
    Figure CN121552369A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a robot force control motion method and device based on composite action flow. A specific embodiment of the method comprises the following steps: decomposing a force control motion into sub-motion sequences to be executed by a plurality of basic motion modules respectively, and determining to obtain a basic motion module sequence according to the sub-motion execution sequence; based on the sub-action sequences, a robot composite module is used for carrying out action integration operation, and a force control action sequence is obtained; for the force control action, the following steps are executed: acquiring torque sensor information of the robot based on a motion control period; the operation state information of the force control action is determined; responding to the operation state information which is in-operation state information, and generating a joint instruction of a force control action; and all the joint instructions are issued to a motion controller of the robot, and a mechanical arm is driven to execute force control actions. According to the implementation mode, the movement track and the force of the mechanical arm are accurately controlled, so that the abrasion of mechanical equipment of the robot is reduced, and the working efficiency of the robot is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments disclosed herein relate to the field of computer technology, and more specifically to a robot force control motion method and apparatus based on composite motion flow. Background Technology

[0002] Currently, the finishing and quality inspection processes of high-end products often involve automated force control operations (e.g., cleaning mobile phone screens, polishing car paint, product production and transportation). When robots perform complex force control motion tasks, they usually organize the force control tasks by writing fixed motion scripts or using simple state machines.

[0003] However, when using the above method to perform force control tasks, the following technical problems often arise: It is unable to construct and execute complex motion logic, making it difficult to achieve multi-degree-of-freedom coordinated force control. When dealing with workpieces with diverse surfaces and edges, a single motion flow cannot complete the force control action, which may lead to workpiece surface damage and robot joint overload due to motion mismatch, resulting in mechanical wear and tear on the robot.

[0004] The information disclosed in this background section is only intended to enhance the understanding of the background of the inventive concept, and therefore may contain information that does not constitute prior art known to those skilled in the art. Summary of the Invention

[0005] The summary portion of this disclosure is intended to provide a brief overview of the concepts, which will be described in detail in the detailed description portion. This summary portion is not intended to identify key or essential features of the claimed technical solutions, nor is it intended to limit the scope of the claimed technical solutions.

[0006] Some embodiments of this disclosure propose a robot force control motion method and apparatus based on composite motion flow to solve one or more of the technical problems mentioned in the background section above.

[0007] In a first aspect, some embodiments of this disclosure provide a robot force-controlled motion method based on a composite motion flow, comprising: decomposing the force-controlled motion into a sequence of sub-motions to be executed by multiple basic motion modules respectively, and determining a sequence of basic motion modules according to the execution order of the sub-motions; performing motion integration operations using a robot composite module based on the sub-motion sequences corresponding to the basic motion module sequences to obtain a force-controlled motion sequence; for the force-controlled motion in the above force-controlled motion sequence, performing the following steps: acquiring torque sensor information of the robot based on a motion control cycle, wherein the motion control cycle is the control cycle corresponding to the robot motion controller; determining the running state information of the force-controlled motion based on the torque sensor information, wherein the running state information includes: running state information, running success state information, and running failure state information; generating joint commands for the force-controlled motion in response to the running state information being running state information; sending the obtained joint commands to the robot motion controller, and driving the robotic arm to execute the force-controlled motion.

[0008] Secondly, some embodiments of this disclosure provide a robot force-controlled motion device based on a composite motion flow, comprising: a motion decomposition unit configured to decompose force-controlled motion into sub-motion sequences to be executed by multiple basic motion modules respectively, and to determine a basic motion module sequence based on the execution order of the sub-motions; a motion integration unit configured to perform motion integration operations using a robot composite module based on the sub-motion sequences corresponding to the basic motion module sequences to obtain a force-controlled motion sequence; and a motion determination unit configured to perform the following steps for the force-controlled motion in the force-controlled motion sequence: acquiring torque sensor information of the robot based on a motion control cycle, wherein the motion control cycle is the control cycle corresponding to the robot motion controller; determining the running state information of the force-controlled motion based on the torque sensor information, wherein the running state information includes: running state information, running success state information, and running failure state information; generating joint commands for the force-controlled motion in response to the running state information being running state information; and a motion driving unit configured to send the obtained joint commands to the robot motion controller and drive the robotic arm to execute the force-controlled motion.

[0009] Thirdly, some embodiments of this disclosure provide an electronic device, including: one or more processors; and a storage device having one or more programs stored thereon, such that when the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any implementation of the first aspect.

[0010] Fourthly, some embodiments of this disclosure provide a computer-readable medium having a computer program stored thereon, wherein the program, when executed by a processor, implements the method as described in any implementation of the first aspect.

[0011] The various embodiments disclosed above have the following beneficial effects: Through the robot force control motion method based on composite motion flow of some embodiments of this disclosure, this implementation reduces the wear of robot mechanical equipment and improves the efficiency of robot work by precisely controlling the motion trajectory and control force of the robotic arm. Specifically, the reason for the wear of robot mechanical equipment and the low operating efficiency of robot work is that traditional robot force control tasks use fixed motion scripts. When encountering uneven workpiece surfaces, obstacles, or the need for different forces, the actions cannot be adjusted, resulting in mechanical parts bearing impact loads and task interruption. Based on this, the robot force control motion method based on composite motion flow of some embodiments of this disclosure first decomposes the force control motion into sub-action sequences to be executed by multiple basic action modules, and determines the basic action module sequence according to the execution order of the sub-actions. Thus, complex force control tasks can be decomposed into independent basic actions, reducing the complexity of robot actions and maintenance costs. Second, based on the sub-action sequences corresponding to the above-mentioned basic action module sequences, the robot composite module is used to perform action integration operations to obtain the force control action sequence. Thus, a task execution system with hierarchical logic is constructed, enabling the robot to perform complex force control tasks and improving the integrity of force control operations. Then, for the force-controlled actions in the above force-controlled action sequence, the following steps are performed: Based on the motion control cycle, the torque sensor information of the robot is obtained, where the motion control cycle is the control cycle corresponding to the robot's motion controller; based on the torque sensor information, the running state information of the force-controlled action is determined, where the running state information includes: running state information, running success state information, and running failure state information; in response to the running state information being running state information, joint commands for the force-controlled action are generated. Thus, intelligent decision-making and closed-loop control based on real-time force perception are realized. In each control cycle, the system transforms the physical world's contact force state (torque sensor information) into a task-level logical state (success, failure, running), making the robot no longer a blind actuator, but one that can adjust according to the actual environment. For example, it can determine in real time whether contact is in place (success), whether the force exceeds the limit (failure), or whether movement needs to continue (running), and generate or maintain corresponding control commands, ensuring the safety and adaptability of the force control process. Finally, the obtained joint commands are sent to the robot's motion controller and drive the robotic arm to execute the force-controlled actions. This achieves a precise mapping from intelligent decision-making to physical execution. It ensures that the instructions generated by the task logic are delivered to the underlying actuators and translated into precise movements and force outputs at the robotic arm's end effector. This ensures consistency in force control operations and maintains the robot's stability and reliability during long-term operation. This implementation method, by precisely controlling the robotic arm's trajectory and control force, reduces wear and tear on the robot's mechanical components and improves the robot's work efficiency. Attached Figure Description

[0012] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and elements are not necessarily drawn to scale.

[0013] Figure 1 This is a flowchart of some embodiments of the robot force control motion method based on composite motion flow according to the present disclosure; Figure 2 This is a structural schematic diagram of some embodiments of a robot force-controlled motion device based on composite motion flow according to the present disclosure; Figure 3 This is a schematic diagram of the structure of an electronic device suitable for implementing some embodiments of the present disclosure. Detailed Implementation

[0014] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0015] It should also be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings. Unless otherwise specified, the embodiments and features described in this disclosure can be combined with each other.

[0016] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.

[0017] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0018] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0019] This disclosure will now be described in detail with reference to the accompanying drawings and embodiments.

[0020] refer to Figure 1The diagram illustrates a flow 100 of some embodiments of a robot force-controlled motion method based on a composite motion flow according to the present disclosure. This robot force-controlled motion method based on a composite motion flow includes the following steps: Step 101: Decompose the force-controlled motion into a sequence of sub-motions to be executed by multiple basic motion modules, and determine the sequence of basic motion modules based on the execution order of the sub-motions.

[0021] In some embodiments, the execution entity (e.g., an electronic device) of the above-described robot force control motion method based on composite motion flow can be hardware or software. When the computing device is hardware, it can be implemented as a distributed cluster of multiple servers or terminal devices, or as a single server or a single terminal device. When the computing device is software, it can be installed in the hardware devices listed above. It can be implemented as multiple software programs or software modules to provide distributed services, or as a single software program or software module. No specific limitations are made here.

[0022] In some embodiments, the aforementioned execution entity can decompose force-controlled motion actions into a sequence of sub-actions to be executed by multiple basic motion modules, and determine the basic motion module sequence based on the execution order of the sub-actions. The sub-actions can be the basic actions that complete the logic of the force-controlled motion actions. The basic motion modules can be control units (e.g., single joint rotation units, unidirectional movement units, or force control units) for the robot to execute force-controlled motion actions. The control units can be units responsible for coordinating and managing the movement and task execution of various robot components. The control units can include: a main controller, servo drivers, and servo motors. The basic motion modules can include one of the following: a robot single-joint control unit, a single dimension of the Cartesian coordinate system, and a force-controlled task dimension. The module of the single joint rotation unit can be a control unit that provides instructions for the robot to drive the movement of one or more joint motors. The force-controlled motion can be the motion that controls the interaction between the robot and its environment. For example, in real-life scenarios, the force-controlled motion can include: wiping motion (e.g., wiping a table) and pushing / pull motion (e.g., opening a door). For example, in the scenario of wiping a table, the basic actions can be wiping, translation, or rotation. The aforementioned basic motion modules can include software function modules in the robot control unit that independently control a single degree of freedom of the robot. These software function modules can include: a speed command module (a module that controls the robot to run at a preset speed), a torque command module (a module that controls the robot to maintain a preset force), a pose command module (a module that controls the robot to maintain a preset posture), a dragging motion module (a module that passively adjusts the robot's end effector's posture under the action of an external torque), and a stationary motion module (a module that locks the robot's degree of freedom to maintain its current position). The aforementioned wiping motion can be a combination of the speed command module and the torque command module. The aforementioned translational motion can be a combination of the stationary motion module, the torque command module, and the speed command module. The aforementioned rotational motion can be a combination of the speed command module, the dragging motion module, and the pose command module.

[0023] In some optional implementations of certain embodiments, the aforementioned execution entity can decompose the force-controlled motion action into multiple basic action modules, which may include the following steps: The first step is to determine the motion coordinate system for the aforementioned force-controlled motion actions based on the robot's degrees of freedom information. This motion coordinate system includes a horizontal axis, a vertical axis, a longitudinal axis, and a rotation axis. The rotation axes include rolling on the longitudinal axis, pitching on the horizontal axis, and swaying on the vertical axis. This motion coordinate system can be a reference coordinate system established for ease of describing and controlling the force-controlled task. The horizontal axis can be the main direction of movement of the force-controlled path. The vertical axis can be the direction of movement perpendicular to the surface of the workpiece to be controlled. The rotation axes can be the degrees of freedom for the end effector to rotate around each axis (horizontal, vertical, and longitudinal axes). Rolling on the longitudinal axis can be a rotational operation performed around the longitudinal axis. Pitching on the horizontal axis can be a rotational operation performed around the horizontal axis. Swaying on the vertical axis can be a rotational operation performed around the vertical axis.

[0024] In practice, a motion coordinate system can be defined based on the geometric characteristics of the force-controlled workpiece and the force control path. For example, the aforementioned motion coordinate system could be a coordinate system centered on the end effector of the robot.

[0025] The second step is to determine the action type and corresponding action state information of the force-controlled motion on the vertical axis, thus obtaining the vertical axis motion module. This vertical axis motion module can be a control unit that executes the relevant code for the command action, enabling the robot to control its speed logic. The action type can be a selected action to control a specific degree of freedom (or dimension) of the robot. For example, the action type can include: speed command action, torque command action, stationary action, pose command action, and dragging action. The speed command action can be an action that controls the robot to achieve and maintain speed in that dimension. The torque command action can be an action that controls the robot to achieve and maintain torque in that dimension. The pose command action can be an action that controls the robot to achieve and maintain position and orientation. The dragging action can be an action that controls the robot to have a non-fixed position and force. The action state information can be the specific parameter information and operational data of the robot's action. In practice, firstly, a speed command code class can be selected from a pre-compiled action library based on the action type (speed command action). The pre-compiled action library can be a source code library storing various actions. Then, the action state information is configured as code parameters into the speed command code class to obtain the code for the speed command action. The speed command code mentioned above is an instance of a speed command code class. Finally, the robot's control unit encapsulates the speed command code to obtain the vertical axis motion module. For example, the speed command code could be {target speed: -0.02m / s, failure condition: force > 15N, success condition: force > 1.5N}. In practical scenarios, the failure condition has higher priority than the success condition. When the force is 16N and the failure condition is "force > 15N", the failure condition is considered true, and the success condition is not checked.

[0026] The third step is to determine the action type and corresponding action state information of the force-controlled motion on the horizontal and vertical axes, thus obtaining the horizontal axis action module and the vertical axis action module. The horizontal axis action module can be a control unit that executes instruction code to control the robot's pose or stationary logic on the horizontal axis. The vertical axis action module can be a control unit that encapsulates the robot's pose control or stationary control logic on the vertical axis. For example, the action type can be a stationary action. The code for the stationary action could be {target position: current position locked, failure condition: force on the horizontal / vertical axis > 10N}.

[0027] The fourth step is to determine the type of force-controlled motion and the corresponding motion state information on the aforementioned rotation axis, thus obtaining the rotation axis motion module. This rotation axis motion module can be a control unit that executes the relevant code for the command action, enabling the robot to control compliant logic (e.g., dragging motion information). The dragging motion information can be parameters of the compliant control mode. For example, when the robot's end effector is subjected to an external force or torque, the dragging motion allows the robot to produce a compliant displacement during movement. For example, the code for the dragging motion could be {admittance parameters: virtual mass = 1.0 kg, virtual damping = 20 Ns / m, virtual stiffness = 0.0 N / m, reference force threshold: 0.0 N}.

[0028] The fifth step is to determine the above-mentioned vertical axis motion module, horizontal axis motion module, longitudinal axis motion module, and rotation axis motion module as the basic motion module sequence. This basic motion module sequence can be an ordered set of basic actions that control the movement of each robot joint.

[0029] Step 102: Based on the sub-action sequences corresponding to the basic action module sequence, the robot composite module is used to perform action integration operations to obtain the force-controlled action sequence.

[0030] In some embodiments, the aforementioned execution entity can integrate actions based on the sub-action sequences corresponding to the basic action module sequence using a robot composite module to obtain a force-controlled action sequence. The aforementioned robot composite module can be a control unit that controls the robot's motion logic. For example, the aforementioned robot composite module can be a main controller or a robot controller that receives instructions and sensor information to control the robot's actions or tasks. The aforementioned robot motion logic can include: sequential motion (executed in order), parallel motion (executed simultaneously), and conditional motion (selecting a branch based on a judgment). The aforementioned action flow can be a task motion execution process formed according to the robot's specific motion logic (sequential motion, parallel motion, conditional motion).

[0031] In some optional implementations of certain embodiments, the aforementioned execution entity can perform motion integration operations using a robot composite module based on the sub-motion sequences corresponding to the aforementioned basic motion module sequence to obtain a force-controlled motion sequence, which may include the following steps: The first step, based on the aforementioned robot composite module, is to determine the sequential execution logic of the force-controlled motion actions, resulting in a stage sequence action flow. This stage sequence action flow includes at least one force-controlled stage. The sequential execution logic can be the motion logic governing the execution order of different stages within the force-controlled task flow. The force-controlled stage can be a stage in the robot's force-controlled task execution. For example, in a robot wiping action scenario, the force-controlled stage could include: a first wiping stage, a second wiping stage, and a third wiping stage. The first wiping stage can be one of the sub-tasks obtained after decomposing the wiping force-controlled task. For example, the first wiping stage could be the "contact stage of the wiping task." The second wiping stage could be the "wiping stage of the wiping task." The second wiping stage could be the "lifting-off stage of the wiping task."

[0032] As an example, firstly, a sequential composite module can be used as the root node or trunk of the entire force control task flow. Secondly, the core sub-processes of the force control task are added as independent nodes to the sequential composite module to obtain a stage sequence action flow. For example, in the robot wiping action scenario, there is a first force control stage (the robotic arm moves from the air to contact the table), a second force control stage (executes the force control trajectory while maintaining contact force), and a third force control stage (lifts from the table and returns to a safe position).

[0033] The second step, based on the aforementioned basic motion module sequence, determines the parallel actions corresponding to at least one force control stage, resulting in a parallel motion flow. This parallel motion flow includes: vertical axis force control actions, horizontal and vertical axis force control actions, and rotational axis force control actions. These parallel actions can be multiple actions that are started and executed simultaneously. The parallel motion flow can be a motion flow that executes its various sub-actions concurrently. Specifically, the vertical axis force control action can be an action that controls torque on the vertical axis. The horizontal and vertical axis force control actions can be actions that control torque on the horizontal and vertical axes. The rotational axis force control action can be a force control action on the rotational axis (e.g., offset displacement). In practice, motion modules controlling different dimensions can be selected from the decomposed basic motion module sequence: the "force / torque command action" on the vertical axis is defined as a vertical axis force control action; the "pose command action" on the horizontal and vertical axes is defined as a horizontal and vertical axis force control action; and the "drag action" on the rotational axis is defined as a rotational axis force control action. This yields the parallel motion flow.

[0034] The third step involves determining the torque command actions corresponding to the vertical axis force control actions, the pose command actions corresponding to the horizontal and vertical axis force control actions, and the drag command actions corresponding to the rotation axis force control actions. Specifically, the torque command actions can be basic actions that output target torque or force to achieve force control. The pose command actions can be basic actions that output target position and orientation to achieve trajectory tracking. The drag command actions can be basic actions for force control on the rotation axis.

[0035] The fourth step involves embedding a conditional compounding module into the aforementioned pose command action. This module includes a first execution branch and a second execution branch. The conditional compounding module can be a basic module within the robot control unit used to switch actions based on the real-time scene. The first execution branch can be a software function module within the conditional compounding module that executes the action execution path that meets the true condition. The second execution branch can be a software function module within the conditional compounding module that executes the action execution path that meets the false condition. In practice, a conditional compounding module can be used as the parent node of the pose command action, thus embedding the conditional compounding module into a conditional judgment context. This conditional compounding module includes a first execution branch (normal case) and a second execution branch (abnormal case).

[0036] The fifth step is to determine that the judgment condition of the above-mentioned condition composite module is a torque over-limit condition. This torque over-limit condition can be a condition used to determine the triggering of the condition composite module. For example, the torque over-limit condition could be evaluated as "true" when the torque value fed back by the sensor exceeds a preset safety threshold.

[0037] Step six: Determine the aforementioned horizontal and vertical axis force control actions as the first execution branch of the aforementioned conditional composite module, and the static action corresponding to the aforementioned torque over-limit condition as the second execution branch of the aforementioned conditional composite module. The aforementioned static action can be a basic action that locks the relevant degrees of freedom, keeping the robotic arm in its current position.

[0038] As an example, firstly, the horizontal and vertical axis trajectory motion can be set as the first execution branch. When the torque is within limits (torque exceedance condition is false), the robot executes the force-controlled trajectory normally. Then, a stationary motion can be instantiated and set as the second execution branch. When the torque exceeds limits (torque exceedance condition is true), the robot immediately stops the horizontal and vertical axis movement to handle jamming and collision situations and protect the robot's equipment.

[0039] Step 7: Based on the aforementioned stage sequence action flow and parallel action flow, the aforementioned conditional composite module is used to perform action integration operations to obtain a force-controlled action sequence. This force-controlled action sequence can be a hierarchical force-controlled action sequence that the robot can run.

[0040] As an example, the action flow of the stage sequence, the parallel action flow, and the action flow corresponding to the conditional composite module can be integrated according to the parent-child hierarchical relationship. This forms a structure with the action flow corresponding to the composite module as the root, containing nested parallel action flows and action flows corresponding to the conditional composite module. The leaf nodes are tree structures composed of various basic action modules, resulting in the force-controlled action sequence.

[0041] Step 103: For the force-controlled actions in the force-controlled action sequence, perform the following steps: Step 1031: Based on the motion control cycle, obtain the robot's torque sensor information.

[0042] In some embodiments, the aforementioned execution entity can acquire the torque sensor information of the robot based on a motion control cycle, wherein the motion control cycle is the control cycle corresponding to the robot's motion controller. The motion control cycle can be the time interval period for the robot's underlying motion controller to output commands. The robot motion controller can be a hardware module responsible for receiving commands and sending signals to the joint actuators. The torque sensor information can be information collected by torque / force sensors installed on the robot joints or end effector. The torque sensor information can be raw electrical signal data reflecting the magnitude of the contact force between the robotic arm and the external environment.

[0043] Step 1032: Determine the operating status information of the force control action based on the torque sensor information.

[0044] In some embodiments, the execution entity can determine the operating status information of the force control action based on the torque sensor information, wherein the operating status information includes: operating status information, successful operation status information, and failed operation status information. The operating status information may be a logical determination result of the execution status of each action module.

[0045] In some optional implementations of certain embodiments, the execution entity may determine the operating status information of the force control action based on the torque sensor information, which may include the following steps: The first step is to obtain the failure condition sequence of the aforementioned force-controlled action. This failure condition sequence can be a pre-configured set of judgment conditions for the force-controlled action. In practice, the associated failure condition sequence can be read from the configuration of the current force-controlled action (basic action or compound action). For example, in a robot wiping action scenario, for a "speed command action" that controls the robot to contact the table downwards, the failure condition sequence might include a "vertical axis force exceeding limit condition," used to determine failure when the contact force is too large, preventing damage to the table or the robot.

[0046] The second step involves, based on the torque sensor information, determining the aforementioned operational status information as operational failure status information in response to the presence of a true failure condition in the aforementioned failure condition sequence. This operational failure status information can be a status indicator indicating that the current action has failed to achieve the expected goal and has ceased execution.

[0047] The third step involves obtaining the success condition sequence for the force control action if each failure condition in the above failure condition sequence is false. This success condition sequence can be another set of pre-configured judgment conditions for the currently executed force control action. Each condition in the success condition sequence must be satisfied for the action to be executed successfully.

[0048] Fourth, based on the torque sensor information mentioned above, and in response to the fact that one of the success conditions in the success condition sequence is false, the above operating status information is determined to be in-process status information. Here, the above in-process status information can be a status indicator that the current action is being executed but has not yet reached a success or failure state.

[0049] Fifth, in response to each success condition in the above success condition sequence being false, the above running status information is determined to be running success status information. This running success status information can indicate that the current action has successfully achieved the preset goal.

[0050] Step 1033: In response to the running status information being running status information, generate joint commands for force-controlled actions.

[0051] In some embodiments, the executing entity may generate joint commands for the force-controlled action in response to the aforementioned operating state information being in operation. These joint commands may be low-level control signals sent to the robot's underlying joint actuators or controllers. The joint commands may be commands to adjust the target position, velocity, or torque value.

[0052] In some optional implementations of certain embodiments, the execution entity may generate joint commands for the force-controlled action in response to the running state information being running state information, which may include the following steps: The first step is to determine the action type of the aforementioned force-controlled actions. These action types include: velocity command actions, torque command actions, pose command actions, dragging actions, and stationary actions. These action types can be classifications of force-controlled actions. Velocity command actions are actions aimed at controlling the robot's end effector or joints to reach a specific speed. Torque command actions are actions aimed at controlling the robot to output a specific torque or force. Dragging actions are compliant actions that allow the robot to produce under external forces. In practice, preset action types can be identified from the metadata of the basic motion module.

[0053] The second step, in response to the above action type being a speed command action, is to execute the following first joint torque command generation step: The first sub-step involves generating a speed command based on a preset target speed and direction of motion. This speed command can be a command describing the target speed vector of the end effector.

[0054] The second sub-step involves converting the aforementioned velocity commands into target velocities for each joint using the robot's inverse kinematics model. This inverse kinematics model can be a mathematical model that converts velocity or pose into joint velocities or angles in joint space. In practice, the pseudo-inverse of the Jacobian matrix can be used to convert the velocity commands into target velocities for each joint.

[0055] The third sub-step involves using a joint feedback controller to adjust the speed deviation based on the target speed and the actual joint speed, thereby obtaining a first joint torque command. The joint feedback controller can be used to adjust the joint speed to track the target value. The first joint torque command can be used to eliminate the deviation between the target speed and the actual speed fed back by the joint encoder.

[0056] Third, in response to the above action type being a torque command action, the following second joint torque command generation steps are executed: The first sub-step involves generating a second joint torque command based on a preset target torque value. This preset target torque value can be a force or torque applied by the robot's end effector in a specific dimension. The second joint torque command can be a torque command used to achieve the preset target torque value.

[0057] Fourth, in response to the above action type being a drag action, execute the following third joint torque command generation step: The first sub-step involves determining the target motion offset information of the robot arm based on the torque sensor information mentioned above. This target motion offset information can be information about the end effector position or velocity adjustment determined by an external torque. In practice, the torque sensor information can be input into the robot's admittance control model to obtain the target motion offset information.

[0058] The second sub-step involves generating the motion trajectory corresponding to the aforementioned target motion offset information, thereby obtaining the third joint torque command corresponding to the aforementioned motion trajectory. This third joint torque command can be an instruction used by the robot to generate the motion trajectory.

[0059] Fifth, the first joint torque command, the second joint torque command, and the third joint torque command are superimposed with the robot's gravity compensation torque to obtain the joint commands. The gravity compensation torque can be used to counteract the torque generated by the robot's own links and load gravity at each joint.

[0060] Step 104: Send the obtained joint commands to the robot's motion controller and drive the robotic arm to perform force-controlled actions.

[0061] In some embodiments, the aforementioned execution entity can send the obtained joint commands to the robot's motion controller and drive the robotic arm to perform force-controlled actions. The robot's motion controller can be the robot's underlying real-time control hardware and software. Driving the robotic arm to perform force-controlled actions can be achieved by converting the control commands into actual motion and force output at the robotic arm's end effector through a physical actuator (motor), thus completing the force control task.

[0062] In employing technical solutions to address the dynamic force control tasks of the aforementioned robot systems, the application scenario—specifically, the precision machining of delicate components (e.g., automotive paint, electronic screens)—often presents the following technical challenges: In high-speed and high-precision real-time control loops, ensuring that motion flow decisions are stably and error-free translated into underlying physical execution, and avoiding communication delays, data errors, or command asynchrony leading to control instability, trajectory jitter, or force control overshoot, thereby affecting control quality and even posing equipment safety risks. Considering the following requirements for this application scenario—real-time control commands, data transmission integrity, and coordination between planning and execution—we have decided to adopt the following solution: In some optional implementations of certain embodiments, the execution entity can send the obtained joint commands to the motion controller of the robot and drive the robotic arm to perform force-controlled actions, which may include the following steps: The first step involves combining the aforementioned joint commands with a timestamp and a control mode identifier to obtain a real-time data frame. The control mode identifier can be a flag that determines the command type. For example, the control mode identifier can include torque control, position control, and speed control. The real-time data frame can be a communication data packet organized according to a predetermined format, containing control commands and related information.

[0063] The second step involves performing Cyclic Redundancy Check (CRC) encoding on the aforementioned real-time data frame to obtain the data frame trailer. The CRC encoding can be a polynomial division method for detecting data transmission errors. The data frame trailer can be a checksum appended to the end of the data frame. In practice, a CRC polynomial can be used to calculate the entire content of the real-time data frame, generating a 2-byte or 4-byte checksum as the data frame trailer.

[0064] The third step is to append the aforementioned data frame to the end of the aforementioned real-time data frame to obtain the action data frame. This action data frame can be a data packet containing complete control commands and a checksum.

[0065] Fourth, within the time window of the current motion control cycle, the aforementioned motion data frames are sent to the joint's motion controller. This time window can be a specifically reserved period for data transmission within the motion control cycle. The joint's motion controller can be an independent controller located at each joint of the robot, responsible for receiving commands and driving the motors.

[0066] Fifth, in response to the motion controller of the aforementioned joint receiving the aforementioned motion data frame, the controller determines the joint torque command corresponding to the aforementioned motion data frame and executes the aforementioned joint torque command to obtain the actual torque value. The actual torque value may be a real-time torque measurement value fed back by the joint torque sensor.

[0067] As an example, firstly, each joint controller performs a CRC check after receiving the data frame to verify data integrity. Secondly, it extracts the torque command value corresponding to its joint. Then, it reads the feedback value from the joint torque sensor to obtain the actual torque value.

[0068] The sixth step is to determine the actual torque value and the torque value corresponding to the joint torque command, thus obtaining torque error information. This torque error information can be the difference between the target torque and the actual torque. In practice, the difference between the commanded torque value and the actual feedback torque value can be determined within each joint controller to obtain the torque error information.

[0069] Step 7: Based on the torque error information mentioned above, generate the joint current command. This joint current command can be the current setpoint sent to the motor driver. In practice, a PID control algorithm can be used to process the torque error information and calculate the corresponding joint current command to eliminate the torque error.

[0070] Step 8: Input the joint current command to the motor driver to obtain the torque information for driving the servo motor. This torque information can be the actual torque output by the robot's servo motor. In practice, the joint current command is sent to the motor driver, which then drives the servo motor to output the corresponding physical torque through a power amplifier circuit.

[0071] The ninth step involves transmitting the aforementioned motion torque information to the corresponding joints of the robotic arm via a harmonic reducer, thereby obtaining coordinated motion information. The harmonic reducer can be a speed reduction device used to increase output torque and achieve precision transmission. The coordinated motion information can be the overall motion state information formed by the coordinated movement of each joint. In practice, the torque output by the servo motor is amplified and reduced by the harmonic reducer, driving the corresponding robotic arm joints to produce rotational motion, thus obtaining the coordinated motion information.

[0072] Step 10: Based on the kinematic and dynamic model of the robotic arm described above, the aforementioned cooperative motion information is synthesized into the force control trajectory and force control force of the end effector. The kinematic and dynamic model can be an existing mathematical model describing the mapping relationship between the joint space and Cartesian space of the robotic arm.

[0073] The eleventh step involves controlling the end effector to execute the aforementioned force-controlled trajectory and force in each dimension to drive the robotic arm to perform force-controlled actions. In practice, the end effector moves along the planned trajectory (force-controlled trajectory) and torque (force-controlled force) while maintaining constant force to drive the robotic arm to perform force-controlled actions.

[0074] The above-described steps, as an inventive point of this disclosure, solve the technical problem mentioned in the background art: "Robot systems struggle to cope with environmental uncertainties in real time and safely while ensuring work quality, and the programming and debugging of task flows are cumbersome." In practice, traditional robot control systems suffer from semantic gaps between high-level planning and low-level execution, and the lack of time synchronization in command issuance may lead to communication jitter or data errors, resulting in motion stuttering or force control abrupt changes. This disclosure designs a reliable end-to-end control scheme from command encapsulation, verification, and synchronized issuance to low-level closed-loop execution. Through timestamp synchronization, CRC verification, real-time window communication, and torque closed-loop control, it ensures that motion flow decisions can accurately, stably, and safely drive the physical robotic arm to complete complex force control tasks. Therefore, it improves the feasibility of task execution, ensures the reliability and safety of the robot under high-speed real-time control, and reduces robot equipment wear and tear.

[0075] In addressing the challenges of robotic systems struggling to handle unexpected obstacles and lacking self-recovery capabilities in complex force control tasks, the following technical issues arise in the application scenario: automating force control operations on workpiece surfaces with unknown obstacles in real-world environments. Traditional rigid control strategies, when encountering obstacles (e.g., surface protrusions or fallen objects) during force control, lead to strong resistance between the robot and the obstacle, potentially damaging both the workpiece and the robot, causing production interruptions, and preventing the system from autonomously recovering from abnormal states. Considering the specific requirements of this application scenario—real-time perception of unexpected anomalies, dynamic decision-making capabilities, and autonomous fault-tolerant recovery—we have decided to adopt the following solution: Optionally, in some optional implementations of certain embodiments, the execution entity can control the end effector to execute the force control trajectory and the force control force in various dimensions to complete the force control action of driving the robotic arm, which may include the following steps: The first step is to acquire real-time torque sensor information of the joint as the end effector moves relative to the force-controlled trajectory. This real-time torque sensor information can be raw torque data collected in real-time from the robot's joint torque sensor or the end effector's six-dimensional force sensor.

[0076] The second step involves determining the contact force and motion information in various dimensions during force control, based on the aforementioned real-time torque sensor and joint encoder information. The contact force information can be extracted from the original torque sensor information by transforming the force component along the force control trajectory. The motion information can be the robot's velocity information during force control. The joint encoder information can be measurement data fed back from the encoders on the robot's joint motors.

[0077] As an example, firstly, the torque sensor information in the joint space is converted into Cartesian forces and torques of the end effector using a robot kinematic model. Then, the six-dimensional force vector is projected onto the tangent (direction of travel) and normal of the force control trajectory to extract the contact force information (resistance in the direction of travel).

[0078] Third, in response to the fact that both the contact force information and the motion information are less than a preset safety threshold and conform to the task preset information, the next action is switched according to the task. Here, conforming to the task preset information can be the target range of each action module in the action flow. For example, for force-controlled actions, the task preset information can be that the contact force is within the range of (5N, 5.5N).

[0079] Fourth, in response to the contact force information exceeding a preset safety threshold, the pose command action of the force control trajectory is determined to have failed, and a failure message is obtained. The preset safety threshold can be the maximum permissible lateral force pre-set based on the workpiece material, force control tool characteristics, and process requirements. The failure message can be a status flag output by the status determination logic (e.g., a failure status flag could be "FAILURE").

[0080] Fifth, based on the above failure information, determine the alternative actions for the above pose command actions. These alternative actions can be pre-defined replacement actions for the pose command actions during the motion flow design phase.

[0081] Step 6: Based on the aforementioned alternative actions, switch the pose command actions of the force-controlled trajectory to obtain the switched action. This action switching can be the process by which the motion flow execution engine stops the currently failed action module and activates the alternative action module. The switched action can be an action successfully activated during force-controlled motion.

[0082] As an example, firstly, the execution of the current pose command can be terminated immediately. Secondly, a preset alternative action (e.g., a drag action) is instantiated and set as the new active module. Then, the state transition is completed, and the transition action is executed.

[0083] Step 7: In response to the aforementioned switching action being a dragging action, based on the aforementioned contact force information and motion information, determine the offset information that causes the end effector to traverse the obstacle contour, wherein the offset information includes: offset velocity information and offset displacement information. The offset information may be the motion compensation amount required for the end effector to conform to the obstacle.

[0084] Step 8: Based on the robot's inverse kinematics model, generate joint torque commands corresponding to the above offset information.

[0085] As an example, firstly, the offset information (velocity or displacement) is synthesized with the original force control trajectory to obtain the adjusted end-effector motion command. Secondly, the end-effector motion command is converted into target motion quantities for each joint using an inverse kinematics model (Jacobi matrix). Then, the joint torque command required for the target motion quantities is determined by the underlying joint controller (e.g., PD controller).

[0086] The ninth step involves controlling the end effector to perform task movements based on the joint torque commands, thereby driving the robotic arm to perform force-controlled actions.

[0087] The above-described operation steps, as an inventive point of this disclosure, solve the technical problem mentioned in the background art: "In dynamic, unstructured real-world force control scenarios, robot systems cannot guarantee work quality while simultaneously and safely responding to environmental uncertainties in real time." In practice, traditional control methods typically require emergency stops upon detecting abnormal forces, necessitating manual intervention to recover, severely impacting production efficiency. Fixed program logic may repeatedly cause errors and shutdowns due to its inability to adapt to environmental changes. This disclosure designs a control scheme based on real-time force perception and dynamic motion flow backtracking. By monitoring lateral contact forces in real time, automatically triggering state failure judgments, seamlessly switching to compliant dragging alternative actions, and generating offset commands that conform to obstacle contours, the robot can autonomously bypass obstacles and resume work. Therefore, it enhances the robot's operational autonomy in complex environments, reduces losses due to obstacle collisions during force-controlled robot movements, and improves the robot's production efficiency and work quality in force-controlled production tasks.

[0088] The various embodiments disclosed above have the following beneficial effects: Through the robot force control motion method based on composite motion flow of some embodiments of this disclosure, this implementation reduces the wear of robot mechanical equipment and improves the efficiency of robot work by precisely controlling the motion trajectory and control force of the robotic arm. Specifically, the reason for the wear of robot mechanical equipment and the low operating efficiency of robot work is that traditional robot force control tasks use fixed motion scripts. When encountering uneven workpiece surfaces, obstacles, or the need for different forces, the actions cannot be adjusted, resulting in mechanical parts bearing impact loads and task interruption. Based on this, the robot force control motion method based on composite motion flow of some embodiments of this disclosure first decomposes the force control motion into sub-action sequences to be executed by multiple basic action modules, and determines the basic action module sequence according to the execution order of the sub-actions. Thus, complex force control tasks can be decomposed into independent basic actions, reducing the complexity of robot actions and maintenance costs. Second, based on the sub-action sequences corresponding to the above-mentioned basic action module sequences, the robot composite module is used to perform action integration operations to obtain the force control action sequence. Thus, a task execution system with hierarchical logic is constructed, enabling the robot to perform complex force control tasks and improving the integrity of force control operations. Then, for the force-controlled actions in the above force-controlled action sequence, the following steps are performed: Based on the motion control cycle, the torque sensor information of the robot is obtained, where the motion control cycle is the control cycle corresponding to the robot's motion controller; based on the torque sensor information, the running state information of the force-controlled action is determined, where the running state information includes: running state information, running success state information, and running failure state information; in response to the running state information being running state information, joint commands for the force-controlled action are generated. Thus, intelligent decision-making and closed-loop control based on real-time force perception are realized. In each control cycle, the system transforms the physical world's contact force state (torque sensor information) into a task-level logical state (success, failure, running), making the robot no longer a blind actuator, but one that can adjust according to the actual environment. For example, it can determine in real time whether contact is in place (success), whether the force exceeds the limit (failure), or whether movement needs to continue (running), and generate or maintain corresponding control commands, ensuring the safety and adaptability of the force control process. Finally, the obtained joint commands are sent to the robot's motion controller and drive the robotic arm to execute the force-controlled actions. This achieves a precise mapping from intelligent decision-making to physical execution. It ensures that the instructions generated by the task logic are delivered to the underlying actuators and translated into precise movements and force outputs at the robotic arm's end effector. This ensures consistency in force control operations and maintains the robot's stability and reliability during long-term operation. This implementation method, by precisely controlling the robotic arm's trajectory and control force, reduces wear and tear on the robot's mechanical components and improves the robot's work efficiency.

[0089] Further reference Figure 2 As an implementation of the methods shown in the above figures, this disclosure provides some embodiments of a robot force-controlled motion device based on composite motion flow. These device embodiments are similar to... Figure 1 Corresponding to the method embodiments shown, this robot force control motion device based on composite motion flow can be specifically applied to various electronic devices.

[0090] like Figure 2 As shown, a robot force-controlled motion device 200 based on composite motion flow includes: a motion decomposition unit 201, a motion integration unit 202, a motion determination unit 203, and a motion driving unit 204. The motion decomposition unit 201 is configured to: decompose the force-controlled motion into a sequence of sub-motions to be executed by multiple basic motion modules, and determine a sequence of basic motion modules based on the execution order of the sub-motions. The motion integration unit 202 is configured to: perform motion integration operations using a robot composite module based on the sub-motion sequences corresponding to the basic motion module sequences to obtain a force-controlled motion sequence. The motion determination unit 203 is configured to: for the force-controlled motion in the above force-controlled motion sequence, perform the following steps: based on the motion control cycle, acquire the torque sensor information of the robot, wherein the motion control cycle is the control cycle corresponding to the robot motion controller; based on the torque sensor information, determine the running state information of the force-controlled motion, wherein the running state information includes: running status information, running success status information, and running failure status information; in response to the running status information being running status information, generate joint commands for the force-controlled motion. The motion drive unit 204 is configured to send the obtained joint commands to the motion controller of the robot and drive the robotic arm to perform force control actions.

[0091] It is understandable that the units described in the robot force control motion device 200 based on composite motion flow are similar to those in the reference system. Figure 1 The steps in the described method correspond to each other. Therefore, the operations, features, and beneficial effects described above for the method are also applicable to the robot force-controlled motion device 200 based on composite motion flow and the units contained therein, and will not be repeated here.

[0092] The following is for reference. Figure 3 It shows a schematic diagram of the structure of an electronic device (e.g., an electronic device) 300 suitable for implementing some embodiments of the present disclosure. Figure 3 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments of this disclosure.

[0093] like Figure 3As shown, the electronic device 300 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 301, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 302 or a program loaded from a storage device 308 into a random access memory (RAM) 303. The RAM 303 also stores various programs and data required for the operation of the electronic device 300. The processing unit 301, ROM 302, and RAM 303 are interconnected via a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.

[0094] Typically, the following devices can be connected to I / O interface 305: input devices 306 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 307 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 308 including, for example, magnetic tapes, hard disks, etc.; and communication devices 309. Communication device 309 allows electronic device 300 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 3 An electronic device 300 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively. Figure 3 Each box shown can represent a device or multiple devices as needed.

[0095] In particular, according to some embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, some embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 309, or installed from storage device 308, or installed from ROM 302. When the computer program is executed by processing device 301, it performs the functions defined in the methods of some embodiments of this disclosure.

[0096] It should be noted that, in some embodiments of this disclosure, the computer-readable medium described above may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In some embodiments of this disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In some embodiments of this disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.

[0097] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.

[0098] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently without being assembled into the electronic device. The aforementioned computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to: decompose force-controlled motion into a sequence of sub-motions to be executed by multiple basic motion modules, and determine a sequence of basic motion modules based on the execution order of the sub-motions; based on the sub-motion sequences corresponding to the basic motion module sequences, perform motion integration operations using a robot composite module to obtain a force-controlled motion sequence; for the force-controlled motions in the aforementioned force-controlled motion sequence, perform the following steps: based on the motion control cycle, acquire the torque sensor information of the robot, wherein the motion control cycle is the control cycle corresponding to the robot motion controller; based on the torque sensor information, determine the operating status information of the force-controlled motion, wherein the operating status information includes: running status information, successful running status information, and failed running status information; in response to the operating status information being running status information, generate joint commands for the force-controlled motion; send the obtained joint commands to the robot's motion controller, and drive the robotic arm to execute the force-controlled motion.

[0099] Computer program code for performing operations of some embodiments of this disclosure can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0100] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0101] The units described in some embodiments of this disclosure can be implemented in software or hardware. The described units can also be housed in a processor; for example, a processor may be described as including a motion decomposition unit, a motion integration unit, a motion determination unit, and a motion driving unit. The names of these units do not necessarily limit the specific unit itself; for example, a motion decomposition unit may also be described as "a unit that decomposes force-controlled motion into a sequence of sub-motions to be executed by multiple basic motion modules, and determines the sequence of basic motion modules based on the execution order of the sub-motions."

[0102] The functions described above in this document can be performed at least in part by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip (SoCs), complex programmable logic devices (CPLDs), and so on.

[0103] The above description is merely a selection of preferred embodiments of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of the invention involved in the embodiments of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described inventive concept. For example, technical solutions formed by substituting the above-described features with (but not limited to) technical features with similar functions disclosed in the embodiments of this disclosure.

Claims

1. A robot force control motion method based on composite motion flow, comprising: The force-controlled motion is decomposed into a sequence of sub-motions to be executed by multiple basic motion modules, and the sequence of basic motion modules is determined according to the execution order of the sub-motions. Based on the sub-action sequences corresponding to the basic action module sequence, the robot composite module is used to perform action integration operations to obtain the force-controlled action sequence. For the force-controlled action in the force-controlled action sequence, perform the following steps: Based on the motion control cycle, the torque sensor information of the robot is obtained, wherein the motion control cycle is the control cycle corresponding to the robot motion controller; Based on the torque sensor information, the operating status information of the force control action is determined, wherein the operating status information includes: operating status information, successful operating status information, and failed operating status information; In response to the running status information being in operation, joint commands for the force-controlled action are generated; The obtained joint commands are sent to the robot's motion controller, which drives the robotic arm to perform force-controlled actions.

2. The method according to claim 1, wherein, The process of decomposing force-controlled motion into a sequence of sub-motions to be executed by multiple basic motion modules, and determining the basic motion module sequence based on the execution order of the sub-motions, includes: Based on the robot's degrees of freedom information, the motion coordinate system of the force-controlled motion action is determined, wherein the motion coordinate system includes: a horizontal axis, a vertical axis, a vertical axis, and a rotation axis, and the rotation axis includes: rolling on the vertical axis, pitching on the horizontal axis, and swaying on the vertical axis; Determine the action type and corresponding action state information of the force-controlled motion on the vertical axis to obtain the vertical axis motion module; Determine the motion type and corresponding motion state information of the force-controlled motion on the horizontal axis and the vertical axis to obtain the horizontal axis motion module and the vertical axis motion module; Determine the action type and corresponding action state information of the force-controlled motion on the rotation axis to obtain the rotation axis motion module; The vertical axis motion module, the horizontal axis motion module, the longitudinal axis motion module, and the rotation axis motion module are determined as the basic motion module sequence.

3. The method according to claim 1, wherein, The sub-action sequences corresponding to the basic action module sequence are integrated using a robot composite module to obtain a force-controlled action sequence, including: Based on the robot composite module, the sequential execution logic of the force-controlled motion actions is determined to obtain a stage sequence action flow, wherein the stage sequence action flow includes at least one force-controlled stage; Based on the basic action module sequence, the parallel actions corresponding to the at least one force control stage are determined to obtain a parallel action flow, wherein the parallel action flow includes: vertical axis force control action, horizontal and vertical axis force control action and rotation axis force control action; Determine the torque command action corresponding to the vertical axis force control action, the pose command action corresponding to the horizontal and vertical axis force control actions, and the drag command action corresponding to the rotation axis force control action; A conditional compounding module is embedded in the pose command action, wherein the conditional compounding module includes: a first execution branch and a second execution branch; The determination condition of the condition composite module is determined to be the torque over-limit condition; The force control actions of the horizontal and vertical axes are determined to be the first execution branch of the condition composite module, and the static action corresponding to the torque over-limit condition is the second execution branch of the condition composite module. Based on the stage sequence action flow and the parallel action flow, the action integration operation is performed using the conditional composite module to obtain the force-controlled action sequence.

4. The method according to claim 1, wherein, The determination of the operating status information of the force control action based on the torque sensor information includes: Obtain the failure condition sequence of the force-controlled action; Based on the torque sensor information, in response to the presence of a true failure condition in the failure condition sequence, the operating status information is determined to be operating failure status information; In response to each failure condition in the failure condition sequence being false, the success condition sequence of the force control action is obtained; Based on the torque sensor information, in response to the fact that one of the success conditions in the success condition sequence is false, the operating status information is determined to be operating status information. In response to each success condition in the success condition sequence being false, the running status information is determined to be running success status information.

5. The method according to claim 1, wherein, The step of generating joint commands for the force-controlled action in response to the running status information being running status information includes: The action type of the force control action is determined, wherein the action type includes: speed command action, torque command action, posture command action, dragging action and stationary action; In response to the action type being a speed command action, the following first joint torque command generation step is executed: Generate speed commands based on preset target speed and direction of motion; The speed command is converted into the target speed of each joint using the robot's inverse kinematics model. Based on the target speed and the actual speed of the joint, the speed deviation is adjusted using a joint feedback controller to obtain the first joint torque command. In response to the action type being a torque command action, the following second joint torque command generation steps are executed: Based on the preset target torque value, generate the second joint torque command; In response to the action type being a drag action, the following third joint torque command generation step is executed: Based on the torque sensor information, the target motion offset information of the robot arm is determined; Generate the motion trajectory corresponding to the target motion offset information to obtain the third joint torque command corresponding to the motion trajectory; The first joint torque command, the second joint torque command, and the third joint torque command are superimposed with the robot's gravity compensation torque to obtain the joint command.

6. A robot force-controlled motion device based on composite motion flow, comprising: The motion decomposition unit is configured to decompose force-controlled motion into a sequence of sub-motions to be executed by multiple basic motion modules, and to determine the sequence of basic motion modules based on the execution order of the sub-motions. The motion integration unit is configured to perform motion integration operations using the robot composite module based on the sub-motion sequence corresponding to the basic motion module sequence to obtain a force-controlled motion sequence. The action determination unit is configured to perform the following steps for the force control action in the force control action sequence: Based on the motion control cycle, the torque sensor information of the robot is obtained, wherein the motion control cycle is the control cycle corresponding to the robot motion controller; Based on the torque sensor information, the operating status information of the force control action is determined, wherein the operating status information includes: operating status information, successful operating status information, and failed operating status information; In response to the running status information being in operation, joint commands for the force-controlled action are generated; The motion drive unit is configured to send the received joint commands to the robot's motion controller and drive the robotic arm to perform force-controlled actions.

7. An electronic device, comprising: One or more processors; Storage device, on which one or more programs are stored, When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-5.

8. A computer-readable medium having a computer program stored thereon, wherein, When the program is executed by the processor, it implements the method as described in any one of claims 1-5.