Robot control method and device, electronic equipment and computer readable storage medium

By analyzing the pre-generated control parameter text and converting motion data, the problem of cumbersome control and low accuracy of bionic robots in the prior art is solved, and efficient and natural robot motion reproduction is achieved.

CN120134318APending Publication Date: 2025-06-13UBTECH ROBOTICS CORP LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510549885.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-27
Publication Date
2025-06-13

AI Technical Summary

Technical Problem

Existing bionic robot control technology relies on offline editing of action sequences or inputting action tables, making it cumbersome and time-consuming and difficult to accurately reproduce complex human motion trajectories and joint angles.

Method used

By obtaining the control parameter text of the pre-generated robot and analyzing the control parameter sequence of the machine joints, the motion data is converted based on the mapping relationship between the object joints of the target object and the machine joints of the robot, thereby achieving efficient and rapid control of the robot's movements.

Benefits of technology

It improves the naturalness and anthropomorphism of robot movement reproduction, simplifies the generation and application of control parameters, and meets the high-resolution needs of bionic robots.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120134318A_ABST
    Figure CN120134318A_ABST
Patent Text Reader

Abstract

The invention provides a robot control method and device, electronic equipment and a computer readable storage medium. The method comprises the steps of obtaining a pre-generated control parameter text of a robot in response to a robot control instruction; analyzing the control parameter text to obtain a control parameter sequence of the robot joint of the robot in the first time period; wherein the control parameters in the control parameter sequence are obtained by converting the first motion data based on the target mapping relation; the target mapping relation is a mapping relation between an object joint of the target object and a machine joint of the robot, and the first motion data is motion data of the target object in a preset time period; and controlling machine joints of the robot according to the control parameters in the control parameter sequence. According to the method and the device, the control parameter text of the robot can be efficiently and quickly generated, and the naturalness and personification of the robot during action reproduction are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robot technology, and in particular, to a control method, device, electronic device, and computer-readable storage medium for a robot. Background Art

[0002] A bionic robot is a robot that mimics the structure, function, and behavior of a living organism. The design and function of a bionic robot are inspired by natural organisms. In recent years, bionic robot technology has been widely applied in fields such as medical treatment, rehabilitation, and entertainment. For example, in the medical field, bionic robots can be used for surgical operations and disease diagnosis; in the rehabilitation field, devices such as exoskeleton robots provide personalized rehabilitation training by integrating sensing and control technologies. However, current bionic robot control technologies mostly rely on offline editing of action sequences or input of action tables, which is not only cumbersome and time-consuming but also difficult to accurately reproduce complex human motion trajectories and joint angles. Summary of the Invention

[0003] Embodiments of this application provide a control method, device, electronic device, and computer-readable storage medium for a robot, which can efficiently and quickly generate a control parameter text for the robot and improve the naturalness and anthropomorphism during the reproduction of robot actions.

[0004] The technical solution of the embodiments of this application is implemented as follows:

[0005] Embodiments of this application provide a control method for a robot. The method includes: in response to a robot control instruction, obtaining a pre-generated control parameter text for the robot; parsing the control parameter text to obtain a control parameter sequence of the robot's machine joints within a first time period; wherein the control parameters in the control parameter sequence are obtained by converting first motion data based on a target mapping relationship; the target mapping relationship is a mapping relationship between the object joints of a target object and the machine joints of the robot, and the first motion data is the motion data of the target object within a preset time period; controlling the machine joints of the robot according to the control parameters in the control parameter sequence.

[0006] An embodiment of the present application provides a control device for a robot, including: a text acquisition module, configured to acquire a pre-generated control parameter text of the robot in response to a robot control instruction; a text parsing module, configured to parse the control parameter text to obtain a control parameter sequence of the robot's machine joints in a first time period; wherein, the control parameters in the control parameter sequence are obtained by converting first motion data based on a target mapping relationship; the target mapping relationship is a mapping relationship between the object joints of a target object and the machine joints of the robot, and the first motion data is the motion data of the target object in a preset time period; a control module, configured to control the machine joints of the robot according to the control parameters in the control parameter sequence.

[0007] In the above solution, the text acquisition module is further configured to, in response to a robot control instruction, determine a current task identifier of a current control task; based on a preset identifier mapping relationship between the task identifier and the text identifier, determine a target text identifier corresponding to the current task identifier; and based on the target text identifier, acquire the pre-generated control parameter text of the robot from a control parameter text library.

[0008] In the above solution, the device further includes a text generation module, configured to acquire a motion data sequence of the target object in a preset time period and a preset control parameter text format; convert each motion data in the motion data sequence into a control parameter of the robot's machine joints according to the target mapping relationship; determine the generation time of each control parameter; save the control parameters based on the generation time and the preset control parameter text format to obtain the control parameter text; and add the control parameter text to the control parameter text library.

[0009] In the above solution, the text generation module is further configured to acquire motion information of the target object in the preset time period at a preset sampling frequency; convert the motion information into target motion data in a target format; and filter the target motion data to obtain the motion data sequence of the target object in the preset time period.

[0010] In the above solution, the device further includes a text modification module, configured to, in response to a modification instruction for any control parameter text in the control parameter text library, modify the control parameter text to obtain a target control parameter text; and replace the control parameter text with the target control parameter text.

[0011] In the above solution, the device further includes a text fusion module, configured to respond to a fusion instruction for T control parameter texts in the control parameter text library, perform text splicing on the T control parameter texts to obtain a fused control parameter text; T is an integer greater than 1; generate a text identifier for the fused control parameter text; map the text identifier and the fused control parameter text and store them in the control parameter text library.

[0012] In the above solution, the device further includes a mapping relationship establishment module, configured to obtain all object joints of the target object and all machine joints of the robot; establish a mapping relationship between each object joint and a machine joint to obtain the target mapping relationship.

[0013] In the above solution, the device further includes a mapping relationship establishment module, configured to determine a first motion direction of each object joint and a second motion direction of each machine joint; for each object joint, determine a target machine joint and the second motion direction of the target machine joint from all the machine joints; associate each first motion direction of the object joint with one of the second motion directions of the target machine joint to obtain the mapping relationship between the first motion direction of the object joint and the second motion direction of the target machine joint.

[0014] In the above solution, the control module is further configured to obtain a preset control frequency; determine a to-be-controlled parameter from the control parameter sequence according to the preset control frequency; determine the machine joints of the robot corresponding to each sub-control parameter in the to-be-controlled parameter; control the machine joints according to each sub-control parameter.

[0015] An embodiment of the present application provides an electronic device, which includes: a memory for storing computer-executable instructions or computer programs; a processor for implementing the control method of the robot provided by the embodiment of the present application when executing the computer-executable instructions or computer programs stored in the memory.

[0016] An embodiment of the present application provides a computer-readable storage medium, storing a computer program or computer-executable instructions, which are used to implement the control method of the robot provided by the embodiment of the present application when being executed by a processor.

[0017] An embodiment of the present application provides a computer program product, including a computer program or computer-executable instructions, which implement the control method of the robot provided by the embodiment of the present application when being executed by a processor.

[0018] The embodiment of the present application has the following beneficial effects:

[0019] When receiving a robot control instruction, obtain the pre-generated control parameter text of the robot. By pre-generating the control parameter text, it is possible to quickly obtain the control parameter text without having to edit the robot's control parameter text after receiving the control instruction, thereby improving the efficiency of subsequent robot startup. Then, parse the control parameter text to obtain the control parameter sequence of the robot's machine joints within the first time period. The control parameters in the control parameter sequence are obtained by converting the motion data of the target object within the preset time period based on the mapping relationship between the object joints of the target object and the machine joints of the robot. By converting the motion data of the target object into the control parameters of the robot's machine joints, the control parameter text of the robot can be generated efficiently and quickly. Finally, control the robot's machine joints according to the control parameters in the control parameter sequence. By accurately mapping the motion data of the target object to the robot's machine joints through the control parameter text, the naturalness and anthropomorphism of the robot's action reproduction can be improved, and the high-fidelity requirements of the bionic robot can be better met. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 is a schematic diagram of the control scenario of the robot provided by the embodiment of the present application;

[0021] Figure 2 is an optional flowchart of the control method of the robot provided by the embodiment of the present application;

[0022] Figure 3 is another optional flowchart of the control method of the robot provided by the embodiment of the present application;

[0023] Figure 4 is an implementation flowchart of generating the control parameter text provided by the embodiment of the present application;

[0024] Figure 5 is a schematic diagram of the control parameter text provided by the embodiment of the present application;

[0025] Figure 6 is an implementation flowchart of generating the motion data sequence provided by the embodiment of the present application;

[0026] Figure 7 is an implementation flowchart of modifying the control parameter text provided by the embodiment of the present application;

[0027] Figure 8 is an implementation flowchart of fusing the control parameter text provided by the embodiment of the present application;

[0028] Figure 9 is an implementation flowchart of establishing the mapping relationship provided by the embodiment of the present application;

[0029] Figure 10 It is another schematic diagram of the implementation process for establishing a mapping relationship provided by an embodiment of the present application.

[0030] Figure 11 It is a flowchart of the control principle of a robot provided by an embodiment of the present application;

[0031] Figure 12 It is a schematic diagram of an editing software provided by an embodiment of the present application;

[0032] Figure 13 It is a structural block diagram of a control device for a robot provided by an embodiment of the present application;

[0033] Figure 14 It is a schematic diagram of the structure of an electronic device provided by an embodiment of the present application. Detailed implementation manners

[0034] In order to make the objectives, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limitations on the present application. All other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the scope of protection of the present application.

[0035] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments. However, it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict.

[0036] In the following description, the terms "first / second / third" are merely used to distinguish similar objects and do not represent a specific order for the objects. It can be understood that "first / second / third" can be interchanged with a specific order or sequence when allowed, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

[0037] In the embodiments of the present application, the term "module" or "unit" refers to a computer program with a predetermined function or a part of a computer program, which works together with other related parts to achieve a predetermined goal, and can be fully or partially implemented by using software, hardware (such as a processing circuit or a memory), or a combination thereof. Similarly, one processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be a part of the overall module or unit that includes the function of the module or unit.

[0038] Unless otherwise defined, all technical and scientific terms used in the embodiments of this application have the same meaning as commonly understood by those of ordinary skill in the art to which this application pertains. The terms used in the embodiments of this application are only for the purpose of describing the embodiments of this application and are not intended to limit this application.

[0039] In the practical application of data collection and processing in the embodiments of this application, the informed consent or separate consent of the personal information subject should be obtained in strict accordance with the requirements of relevant laws and regulations, and subsequent data use and processing should be carried out within the scope authorized by laws and regulations and the personal information subject.

[0040] Before further elaborating on the embodiments of this application, the nouns and terms involved in the embodiments of this application are explained, and the nouns and terms involved in the embodiments of this application are subject to the following explanations.

[0041] 1) Responsive to: Used to indicate the conditions or states on which the executed operations depend. When the dependent conditions or states are met, one or more executed operations can be real-time or can have a set delay; without special instructions, there is no restriction on the execution order of multiple executed operations.

[0042] 2) Human-machine interaction interface: An interface for providing human-machine interaction functions / an interface for displaying the text of robot control parameters.

[0043] For example, graphical user interface (Graphical User Interface, GUI) display, such as augmented reality (Augmented Reality, AR) interface, virtual reality (Virtual Reality, VR) interface, voice user interface (Voice User Interface, VUI), interactive projection interface (using projection technology to display information on a plane), eye movement detection interface (an interface controlled by detecting the user's line of sight), holographic interface (a three-dimensional hologram formed by projecting an image through holographic projection technology, and a stereoscopic image can be seen without wearing special glasses), multimodal interface (an interactive interface that combines multiple interaction methods such as touch, vision, and hearing), brain-machine interface (Brain-Machine Interface, BMI) interface, etc.

[0044] 3) Roll: Roll refers to the rotational movement of an object around its own longitudinal axis (usually the forward axis). When a robot moves, roll is used to change the inclination angle of the robot's mechanical joints on the horizontal plane. For example, when a robot walks, the roll movement of the leg joints can adjust the inclination angle of the feet to enable the robot to better adapt to the uneven ground.

[0045] 4) Pitch: Pitch refers to the rotational motion of an object around its own horizontal axis (usually the horizontal axis). During the movement of a robot, pitch is used to change the angle of the robot's joints in the vertical direction. For example, when a robot is walking, the pitch movement of the leg joints can adjust the height of the foot lift, enabling the robot to cross obstacles or adapt to the unevenness of the ground.

[0046] 5) Yaw: Yaw refers to the rotational motion of an object around its own vertical axis (usually the vertical axis). During the movement of a robot, yaw is used to change the orientation of the robot's joints in the horizontal direction. For example, in a multi-joint robot, the yaw movement can be used to adjust the horizontal orientation of the robotic arm or end effector, enabling the robot to face different target objects. For example, when a robot is performing a grasping task, the direction of the joints is adjusted through the yaw movement, enabling the robot to grasp target objects in different orientations.

[0047] Bionic robot technology has been widely applied in fields such as medical treatment, rehabilitation, and entertainment. In related technologies, the movement of robots is usually controlled by writing action sequences or inputting action tables. However, this offline editing-based method has certain limitations. First, the process of editing action tables is not only cumbersome and time-consuming but also difficult to achieve a highly anthropomorphic effect. Especially in the imitation of dynamic and complex human movements, it is often difficult to accurately reproduce the movement trajectory and joint angles of the human body. Second, relying on manual writing of action sequences lacks the ability to provide real-time feedback and adjustment for human movements and cannot achieve fast and flexible customization according to the specific needs of users.

[0048] Based on at least one problem existing in the related technologies, the embodiments of the present application provide a control method, device, electronic device, and computer-readable storage medium for a robot. When controlling the robot, first, when a robot control instruction is received, a pre-generated control parameter text of the robot is obtained. Then, the control parameter text is parsed to obtain a control parameter sequence of the robot's machine joints within a first time period, and the control parameters in the control parameter sequence are obtained by converting the motion data of the target object within a preset time period based on the mapping relationship between the object joints of the target object and the machine joints of the robot. Finally, the machine joints of the robot are controlled according to the control parameters in the control parameter sequence. By converting the motion data of the target object into the control parameters of the robot's machine joints, the control parameter text of the robot can be generated efficiently and quickly, and the motion data of the target object can be accurately mapped to the machine joints of the robot, which can improve the naturalness and anthropomorphism of the robot during action reproduction and better meet the high-fidelity requirements of bionic robots.

[0049] The control method for a robot provided by an embodiment of the present application can be applied to electronic devices such as laptop computers, tablet computers, desktop computers, etc., or it can also be applied to a robot. The embodiment of the present application does not impose any restrictions on the specific type of the electronic device.

[0050] The control method for a robot provided by each embodiment of the present application can be executed by an electronic device. Among them, the electronic device can be a server or a terminal, or it can also be a robot. That is, the control method for a robot in each embodiment of the present application can be executed by a server, or can be executed by a terminal, or can be executed through interaction between the server and the terminal, or can be executed by the robot itself.

[0051] The following will describe in detail the control method for a robot provided by an embodiment of the present application with reference to the accompanying drawings.

[0052] See Figure 1 , Figure 1 which is a schematic diagram of a control scenario for a robot provided by an embodiment of the present application. As Figure 1 shown, the motion data generated during the human body's movement process can be converted into a control parameter text for controlling the robot's movement, so that when the control parameter text is called to control the robot's movement, the human body's actions can be reproduced, improving the anthropomorphism of the robot's actions.

[0053] Figure 2 is an optional flowchart of the control method for a robot provided by an embodiment of the present application. This method can be applied to an electronic device. The following will take the electronic device as a server as an example for illustrative purposes. As Figure 2 shown, the method includes the following steps S101 to S103:

[0054] Step S101, in response to a robot control instruction, obtain a pre-generated control parameter text for the robot.

[0055] In the embodiments of the present application, when the server receives a robot control instruction, it can obtain the pre-generated control parameter text of the robot. The control instruction can be used to define the behavior of the robot in a specific task. The control instruction can be a simple motion command (such as moving to a certain position), or a complex task sequence (such as completing a series of assembly actions). The control instruction can be written through a programming language or a graphical programming tool. The control parameter text can be a text file, and the control parameter text can be used to guide the robot to execute tasks according to a predetermined trajectory and manner. The control parameters can be used to guide the robot to execute specific actions. The control parameters can include, but are not limited to: position parameters, speed parameters, acceleration parameters, and attitude parameters, etc. The position parameter is used to define the target position of the robot end effector. The speed parameter is used to define the speed of the robot movement. The acceleration parameter is used to define the acceleration of the robot movement. The attitude parameter is used to define the attitude of the robot end effector (such as roll, pitch, yaw). A robot is a machine device that can automatically execute tasks and can control its actions through the control parameter text. Robots include: industrial robots, service robots, special robots, bionic robots, etc.

[0056] Step S102, parse the control parameter text to obtain the control parameter sequence of the robot's machine joints in the first time period.

[0057] Here, the control parameters in the control parameter sequence are obtained by converting the first motion data based on the target mapping relationship; the target mapping relationship is the mapping relationship between the object joints of the target object and the machine joints of the robot, and the first motion data is the motion data of the target object in the preset time period.

[0058] In the embodiments of the present application, the server parses the control parameter text and extracts the required data fields. The data fields can include: time information (such as timestamp or time period, etc.), control parameters (such as joint position, movement speed, movement acceleration, etc.). Obtain control parameters according to the data fields, and summarize the control parameters to obtain the control parameter sequence.

[0059] The target object can be a biological organism with joint movement ability (such as humans, vertebrates) or a mechanical system (such as a multi-degree-of-freedom bionic robot, an industrial robotic arm, etc., an automated device with a hinged structure). The embodiments of the present application do not make specific limitations on this. The first motion data is the motion data of the target object in the preset time period, and the motion data of the target object in the preset time period can be obtained through methods such as an optical motion capture system, an inertial motion capture system, an electromagnetic motion capture system, a depth camera, a pressure sensor, an electromyography sensor, and an ultrasonic sensor. The motion data can be the motion trajectory data, attitude data (such as angles, rotations, etc.), angle data, etc. of each part (or each joint) of the target object in the preset time period.

[0060] The target mapping relationship is the mapping relationship between the object joints of the target object and the machine joints of the robot. The machine joints are the mechanical components in the robot used to connect different components and achieve motion. For example, if the target object is a human and the robot is a bionic robot, the target mapping relationship is a one-to-one correspondence between all the joints of the human and all the machine joints of the robot. For example, the human shoulder corresponds to the robot's shoulder, the human head corresponds to the robot's head, etc.

[0061] Converting the first motion data according to the target mapping relationship can obtain control parameters. The control parameters can be specific values for controlling the motion of the robot joints, such as position, speed, acceleration, torque, etc. Through the control parameters, the motion of the robot joints can be precisely controlled. For example, the control parameters can include the rotation angles that the motors of all the joints of the robot should have at a specific moment. The angle values of the rotation angles are sent to the motor controller of the robot to guide the motors to rotate at the predetermined angles. Converting all the first motion data obtained within a preset time period can obtain the corresponding control parameters. Summarizing all the obtained control parameters can obtain a control parameter sequence, or arranging all the obtained control parameters in chronological order can also obtain a control parameter sequence. Each control parameter can correspond to a specific time point or time period.

[0062] For example, parsing the control parameter text to obtain the control parameter sequence of the robot's machine joints within 2 seconds. Each control parameter in the control parameter sequence is arranged in the order of shoulder joint angle (degrees), elbow joint angle (degrees), and wrist joint angle (degrees): {[0, 0, 0], [30, 0, 0], [30, 45, 0], [30, 45, 90], [30, 45, 90]}.

[0063] Step S103, control the machine joints of the robot according to the control parameters in the control parameter sequence.

[0064] In the embodiment of the present application, the control parameter text is {[0, 0, 0], [30, 0, 0], [30, 45, 0], [30, 45, 90], [30, 45, 90]}. The machine joints of the robot can be controlled according to the control parameters, and the control process is as follows: At 0.0 seconds, the angles of the shoulder joint, elbow joint, and wrist joint of the robot arm are 0 degrees respectively, and the robot arm is in the initial position. At 0.5 seconds, the angle of the shoulder joint is adjusted to 30 degrees, and the elbow joint and wrist joint remain at 0 degrees. The shoulder of the robot arm starts to rotate. At 1.0 seconds, the shoulder joint remains at 30 degrees, the angle of the elbow joint is adjusted to 45 degrees, and the wrist joint remains at 0 degrees. The elbow of the robot arm starts to bend. At 1.5 seconds, the shoulder joint and elbow joint remain unchanged, and the angle of the wrist joint is adjusted to 90 degrees. The wrist of the robot arm starts to rotate. At 2.0 seconds, all joints remain in the state at 1.5 seconds, the robot arm reaches the target position, and is ready to grasp an object.

[0065] In the embodiment of the present application, when receiving a robot control instruction, the pre-generated control parameter text of the robot is obtained, and then the control parameter text is parsed to obtain the control parameter sequence of the machine joints of the robot in the first time period. The control parameters in the control parameter sequence are obtained by converting the motion data of the target object in the preset time period based on the mapping relationship between the object joints of the target object and the machine joints of the robot. Finally, the machine joints of the robot are controlled according to the control parameters in the control parameter sequence. By converting the motion data of the target object into the control parameters of the machine joints of the robot, the control parameter text of the robot can be generated efficiently and quickly, and the motion data of the target object can be accurately mapped to the machine joints of the robot, which can improve the naturalness and anthropomorphism of the robot during action reproduction, and better meet the high-fidelity requirements of bionic robots.

[0066] Figure 3 It is another optional flowchart of the control method of the robot provided by the embodiment of the present application. As Figure 3 shown, the method includes the following steps S201 to step S211:

[0067] Step S201, the terminal receives the operation input by the user.

[0068] The operation input by the user includes a selection operation or an input operation. The selection operation is used to select the control instruction to be sent to the robot, or the input operation is used to input the control instruction to be sent to the robot.

[0069] Step S202, the terminal determines the control instruction to be sent to the robot in response to the operation input by the user.

[0070] In the embodiment of the present application, the terminal can determine the control instruction corresponding to the operation according to the operation input by the user.

[0071] Step S203: The terminal sends the control instruction to be sent to the robot to the server.

[0072] In the embodiment of the present application, the terminal sends the control instruction to be sent to the robot to the server, and the server can control the robot according to the received control instruction.

[0073] Step S204: The server determines the current task identifier of the current control task in response to the robot control instruction.

[0074] In the embodiment of the present application, when the server receives the robot control instruction, it can parse the robot control instruction to obtain the current task identifier of the current control task. The current task identifier is a unique identifier used to distinguish different control tasks. The current task identifier can be in the form of alphanumeric characters, strings, etc. The embodiment of the present application does not limit this. For example, the user sends a control instruction to the robot through an application, commanding the robot to walk forward. The control instruction is sent to the server through the network, and the server parses the control instruction to obtain the current task identifier of the current control task, such as "walking".

[0075] Step S205: The server determines the target text identifier corresponding to the current task identifier based on the preset mapping relationship between the task identifier and the text identifier.

[0076] In the embodiment of the present application, the mapping relationship between the task identifier and the text identifier can be preset. First, the text identifier can be preset according to the tasks that the robot can perform. For example, the robot can walk, run, dance, etc. The text identifiers corresponding to walking, running, and dancing can be set as "walking", "running", and "dancing", or "1", "2", and "3". For example, if the text identifier is "walking", it can be set that the text identifier "walking" has a mapping relationship with the task identifier "walking", or if the text identifier is "1", it can be set that the text identifier "1" has a mapping relationship with the task identifier "walking". When the current task identifier is "walking", the target text identifier can be determined as "walking" (or "1") according to the mapping relationship.

[0077] Step S206: The server obtains the pre-generated control parameter text of the robot from the control parameter text library based on the target text identifier.

[0078] In the embodiments of the present application, the control parameter text library can be used to store control parameter texts. The server filters out the pre-generated control parameter text of the robot corresponding to the target text identifier from the control parameter text library. For example, there are multiple pre-generated control parameter texts of the robot in the control parameter text library, and the text identifiers of each control parameter text are "walk", "run", and "dance" respectively. When the target text identifier is "walk", the pre-generated control parameter text of the robot's "walk" is filtered out from the control parameter text library.

[0079] Through steps S204 to S206, the mapping relationship between the task identifier and the text identifier can be set, enabling the server to efficiently parse the robot control instructions and accurately match the control parameter text corresponding to the control instructions, which can improve the accuracy and efficiency of task execution.

[0080] Step S207, the server parses the control parameter text to obtain the control parameter sequence of the robot's machine joints within the first time period.

[0081] It should be noted that step S207 is the same as the above step S102, and the implementation details of step S207 in the embodiments of the present application will not be elaborated.

[0082] Step S208, the server obtains the preset control frequency.

[0083] In the embodiments of the present application, the control frequency is the frequency at which the server reads a control parameter from the control parameter sequence. The control frequency is preset according to the sampling frequency. The sampling frequency is the frequency at which the server samples the motion data of the target object within the preset time period, and the control frequency is the same as the sampling frequency.

[0084] Step S209, the server determines the control parameter to be controlled from the control parameter sequence according to the preset control frequency.

[0085] In the embodiments of the present application, the control parameter to be controlled is sequentially read from the control parameter sequence according to the preset control frequency. For example, the preset control frequency is 2Hz, and every 0.5 seconds, a control parameter to be controlled is read from the control parameter sequence. The control parameter text is {[0, 0, 0], [30, 0, 0], [30, 45, 0], [30, 45, 90], [30, 45, 90]}. According to the preset control frequency of 2Hz, it can be determined that a control parameter to be controlled is read from the control parameter sequence every 0.5 seconds. For example, the control parameter to be controlled [0, 0, 0] is read at 0.0 seconds; the control parameter to be controlled [30, 0, 0] is read at 0.5 seconds; the control parameter to be controlled [30, 45, 0] is read at 1.0 seconds; the control parameter to be controlled [30, 45, 90] is read at 1.5 seconds; the control parameter to be controlled [30, 45, 90] is read at 2.0 seconds.

[0086] Step S210, the server determines the robotic joints of the robot corresponding to each sub-control parameter in the to-be-controlled parameters.

[0087] In the embodiment of the present application, for each sub-control parameter among the multiple sub-control parameters included in the to-be-controlled parameters, the robotic joints of the robot corresponding to each sub-control parameter are determined. For example, the to-be-controlled parameter is [30, 45, 0], where the robotic joint of the robot corresponding to the sub-control parameter

[30] is the shoulder; the robotic joint of the robot corresponding to the sub-control parameter

[45] is the elbow; the robotic joint of the robot corresponding to the sub-control parameter [0] is the wrist.

[0088] Step S211, the server controls the robotic joints according to each sub-control parameter.

[0089] In the embodiment of the present application, the server controls the robotic joints according to the robotic joints corresponding to each sub-control parameter. For example, the to-be-controlled parameter is [30, 45, 0], where the robotic joint of the robot corresponding to the sub-control parameter

[30] is the shoulder; the robotic joint of the robot corresponding to the sub-control parameter

[45] is the elbow; the robotic joint of the robot corresponding to the sub-control parameter [0] is the wrist. The shoulder joint maintains 30 degrees, the angle of the elbow joint is adjusted to 45 degrees, and the wrist joint maintains 0 degrees. The elbow of the robotic arm begins to bend.

[0090] Through steps S208 to S211, the to-be-controlled parameters can be sequentially read from the control parameter sequence according to the preset control frequency, and each sub-control parameter can be accurately mapped to the corresponding robotic joint, thereby precisely controlling the robotic joints. Moreover, by synchronously setting the control frequency and the sampling frequency, precise control of the robot to synchronously reproduce the actions of the target object is achieved.

[0091] In the embodiment of the present application, when a robot control instruction is received, the control instruction is first parsed to obtain a task identifier. By setting the mapping relationship between the task identifier and the text identifier, the server can efficiently parse the robot control instruction and accurately match the control parameter text corresponding to the control instruction, which can improve the accuracy and efficiency of task execution. Then, the control parameter text is parsed to obtain the control parameter sequence of the robotic joints of the robot in the first time period. Finally, the to-be-controlled parameters are sequentially read from the control parameter sequence according to the preset control frequency, and each sub-control parameter is accurately mapped to the corresponding robotic joint, thereby precisely controlling the robotic joints. Moreover, by synchronously setting the control frequency and the sampling frequency, precise control of the robot to synchronously reproduce the actions of the target object is achieved.

[0092] Figure 4This is a schematic diagram of an implementation process for generating a control parameter text provided by an embodiment of the present application. This method can be applied to an electronic device. Hereinafter, an electronic device being a server will be taken as an example for illustrative purposes. As Figure 4 shown, before step S101, a control parameter text can also be generated, including the following steps S301 to S305:

[0093] Step S301, obtain the motion data sequence of the target object within a preset time period and the preset control parameter text format.

[0094] In an embodiment of the present application, the motion data of the target object within a preset time period can be obtained through an optical motion capture system, an inertial motion capture system, an electromagnetic motion capture system, a depth camera, a pressure sensor, an electromyography sensor, an ultrasonic sensor, etc. The motion data can be the motion trajectory data, attitude data (such as angles, rotations, etc.), angle data, etc. of each part (or each joint) of the target object within a preset time period. The control parameter text format can be used to set the format of the control parameter sequence in the control parameter text and the format of the control parameters in the control parameter sequence. For example, referring to Figure 5 , Figure 5 is a schematic diagram of the control parameter text provided by an embodiment of the present application. In the control parameter text, each control parameter 501 in each row represents a control parameter in the control parameter sequence, and each column can represent a machine joint of the robot.

[0095] In some embodiments, referring to Figure 6 , Figure 6 shows that step S301 can be implemented through the following steps S3011 to S3013:

[0096] Step S3011, obtain the motion information of the target object within a preset time period according to a preset sampling frequency.

[0097] In an embodiment of the present application, the sampling frequency is the frequency at which the server samples the motion data of the target object within a preset time period. The sampling frequency can define the number of times of sampling the motion data of the target object per unit time, and the sampling frequency can be set according to the actual situation. This embodiment of the present application does not make any limitations in this regard. According to the preset sampling frequency, for example, the sampling frequency is 2 Hz, and the motion information of the target object within a preset time period is obtained regularly (i.e., every 0.5 seconds). For example, if the target object is a person, an inertial motion capture system can be used to install inertial measurement units at each joint and key part of the human body in advance to collect the motion information of the human body within a preset time period. The inertial measurement unit can measure acceleration, angular velocity, magnetic field direction, etc., so as to calculate the motion information of each part of the human body. Inertial measurement units can be installed at the shoulders, elbows, and wrists of the human body for the motion information of the human body.

[0098] Step S3012: Convert the motion information into target motion data in a target format.

[0099] In the embodiments of the present application, the collected motion information is converted into target motion data in a target format. The target format can be a format of data that the robot system can read, or a format set according to the actual situation. The embodiments of the present application do not limit this.

[0100] Step S3013: Filter the target motion data to obtain a motion data sequence of the target object within a preset time period.

[0101] In the embodiments of the present application, a filtering algorithm (such as a low-pass filter) can be used to filter the target motion data to reduce the target motion data generated by noise and jitter. The filtered target motion data is used as the motion data sequence of the target object within a preset time period.

[0102] Through steps S3011 to S3013, the motion information of the target object within a preset time period can be accurately obtained by using the sampling frequency, and the motion information is converted into target motion data in a target format, improving the compatibility and usability of the data. Further, the target motion data is filtered, effectively reducing noise and jitter, generating a high-quality motion data sequence, and improving the accuracy and stability of the motion data.

[0103] Step S302: Convert each motion data in the motion data sequence into a control parameter of the machine joints of the robot according to the target mapping relationship.

[0104] In an embodiment of the present application, according to the target mapping relationship between the object joints of the target object and the machine joints of the robot, the motion data corresponding to each object joint in the motion data sequence is converted into the control parameters of the corresponding machine joints of the robot. Assume that the robot arm has three joints: the shoulder joint, the elbow joint, and the wrist joint. The motion data of the human arm is collected through an inertial motion capture system and converted into the control parameters of the robot. First, determine the target mapping relationship between the joints of the human arm and the machine joints of the robot arm: human shoulder joint → robot shoulder joint; human elbow joint → robot elbow joint; human wrist joint → robot wrist joint. The collected human motion data sequence is {[0, 0, 0], [30, 0, 0], [30, 45, 0], [30, 45, 90], [30, 45, 90]}. According to the target mapping relationship, the human motion data is converted into the control parameters of the machine joints of the robot. Taking the human motion data [30, 45, 0] as an example, specifically, the angle of the human shoulder joint is 30 degrees, and the control parameter of the corresponding robot shoulder joint is 30 degrees; the angle of the human elbow joint is 45 degrees, and the control parameter of the corresponding robot elbow joint is 45 degrees; the angle of the human wrist joint is 0 degrees, and the control parameter of the corresponding robot wrist joint is 0 degrees. Therefore, the control parameter of the machine joint is [30, 45, 0].

[0105] Step S303: Determine the generation time of each control parameter.

[0106] In an embodiment of the present application, the timestamp at the time of generating the control parameter can be used as the generation time of the control parameter, or the moment within a preset time period at the time of generating the control parameter can be used as the generation time of the control parameter. For example, the preset time period is 2 seconds, and the moment at the time of generating [30, 45, 0] is 1.0 second. 1.0 second can be used as the generation time of [30, 45, 0].

[0107] Step S304: Save the control parameters based on the generation time and the preset control parameter text format to obtain a control parameter text.

[0108] In the embodiments of the present application, first, the control parameters corresponding to each generation time are sorted in the order of the front and back of the generation time, and then for each sub-control parameter in each control parameter, they are arranged according to the preset control parameter text format to form a control parameter text. For example, at 0.0 seconds, the angles of the shoulder joint, elbow joint, and wrist joint of the human arm are 0 degrees respectively. At 0.5 seconds, the angle of the shoulder joint is adjusted to 30 degrees, and the elbow joint and wrist joint remain at 0 degrees. At 1.0 seconds, the shoulder joint remains at 30 degrees, the angle of the elbow joint is adjusted to 45 degrees, and the wrist joint remains at 0 degrees. At 1.5 seconds, the shoulder joint and elbow joint remain unchanged, and the angle of the wrist joint is adjusted to 90 degrees. At 2.0 seconds, all joints remain in the state at 1.5 seconds. The corresponding control parameters and generation time are: 0.0 seconds [0, 0, 0], 0.5 seconds [30, 0, 0], 1.0 seconds [30, 45, 0], 1.5 seconds [30, 45, 90], 2.0 seconds [30, 45, 90]. The preset control parameter text format is arranged in the order of the shoulder joint angle (degrees), elbow joint angle (degrees), and wrist joint angle (degrees). First, the control parameters are sorted in the order of time, and then the order of each sub-parameter in each control parameter is sorted according to the preset control parameter text format. Finally, the obtained control parameter text is {[0, 0, 0], [30, 0, 0], [30, 45, 0], [30, 45, 90], [30, 45, 90]}. It is also possible to store the generation time and the control parameters together, and the control parameter text is {[0.0, 0, 0, 0], [0.5, 30, 0, 0], [1.0, 30, 45, 0], [1.5, 30, 45, 90], [2.0, 30, 45, 90]}; it is also possible to store the bit order of the control parameter and the control parameter together, and the control parameter text is {[1, 0, 0, 0], [2, 30, 0, 0], [3, 30, 45, 0], [4, 30, 45, 90], [5, 30, 45, 90]}. The specific control parameter text format can be set according to the actual situation, and the embodiments of the present application do not limit this.

[0109] Step S305, add the control parameter text to the control parameter text library.

[0110] Through steps S301 to S305, the motion data of the obtained target object is converted into the control parameters of the robot according to the target mapping relationship. By determining the generation time of each control parameter and saving it in the preset format, a structured control parameter text is formed, which is convenient for storage and use, and not only improves the usability of the motion data and the control accuracy of the robot.

[0111] In some embodiments, as Figure 7 shown, it is also possible to modify the control parameter text in the control parameter text library, including the following steps S401A to S402A:

[0112] Step S401A: In response to a modification instruction for any control parameter text in the control parameter text library, modify the control parameter text to obtain a target control parameter text.

[0113] In the embodiments of the present application, the control parameter text library stores one or more control parameter texts, and each text corresponds to a different robot motion task. A user or a system issues an instruction to modify the control parameter text for a specific task. When the server receives a modification instruction for any control parameter text in the control parameter text library, parse the modification instruction to obtain the text identifier of the control parameter text to be modified and the modification rule in the modification instruction, and determine the control parameter text from the control parameter text library according to the text identifier. Then, the control parameter text can be modified according to the modification rule to obtain a target control parameter text. For example, the user hopes to adjust some control parameter values in a certain control parameter text (for example, change the angle of a certain joint from 30 degrees to 45 degrees). Determine the control parameter text to be modified through the text identifier, and determine the joint to be modified and the angle data of the joint through the modification rule.

[0114] Step S402A: Replace the control parameter text with the target control parameter text.

[0115] In the embodiments of the present application, remove the original control parameter text from the control parameter text library, and establish a mapping relationship between the target control parameter text and the text identifier corresponding to the original control parameter.

[0116] Through steps S401A to S402A, the control parameter text can be modified, and the original text can be replaced with the modified target control parameter text, so as to flexibly adjust and edit the control parameters of the robot. This not only improves the editing efficiency of the control parameter text for controlling the robot's actions, but also ensures that the data in the control parameter text library always remains up-to-date, thereby improving the accuracy and reliability of robot motion control.

[0117] In some embodiments, as Figure 8 shown, it is also possible to fuse multiple control parameter texts in the control parameter text library, including the following steps S401B to S403B:

[0118] Step S401B: In response to a fusion instruction for T control parameter texts in the control parameter text library, perform text splicing on the T control parameter texts to obtain a fused control parameter text.

[0119] Here, T is an integer greater than 1.

[0120] In the embodiments of the present application, when the server receives an instruction to fuse multiple control parameter texts in the control parameter text library, it first parses the fusion instruction to obtain the text identifiers of the multiple control parameter texts to be fused in the fusion instruction and the fusion rule, and determines the control parameter texts to be fused from the control parameter text library according to the text identifiers. Then, the control parameter texts can be fused to obtain the fused control parameter text. Taking T as 2 as an example, when the server receives an instruction to fuse 2 control parameter texts in the control parameter text library, it first parses the fusion instruction to obtain the text identifiers (such as "walking" and "dancing") of the 2 control parameter texts to be fused in the fusion instruction and the fusion rule, and determines the control parameter texts to be fused from the control parameter text library according to the text identifiers "walking" and "dancing". Then, the control parameter texts can be fused according to the fusion rule to obtain the fused control parameter text. For example, if the fusion rule is that the robot walks first and then dances, the "walking" control parameter text and the "dancing" control parameter text can be concatenated to obtain the fused control parameter text; or the fusion rule can be that the robot walks for a period of time first, then dances for a period of time, then walks for a period of time, and then dances for a period of time. Then, the "walking" control parameter text and the "dancing" control parameter text can be concatenated, and the concatenated control parameter text can be copied a specified number of times to obtain the fused control parameter text. It is also possible to respectively crop the "walking" control parameter text and the "dancing" control parameter text, and arrange them alternately according to one "walking" control parameter text and one "dancing" control parameter text after cropping to obtain the fused control parameter text. The embodiments of the present application do not limit this and can be set according to actual situations.

[0121] Step S402B: Generate a text identifier for the fused control parameter text.

[0122] In the embodiments of the present application, a unique text identifier is generated for the fused control parameter text. The text identifier can be a text, a numerical number, a combination of letters, a combination of special symbols, or a mixed form of these elements. The embodiments of the present application do not limit this. For example, if the fused control parameter text is obtained by fusing the "walking" control parameter text and the "dancing" control parameter text, the text identifier generated for the fused control parameter text can be "walking - dancing".

[0123] Step S403B: Map the text identifier and the fused control parameter text and store them in the control parameter text library.

[0124] In the embodiment of the present application, a mapping relationship is established between the text identifier and the fused control parameter text, and the text identifier, the fused control parameter text, and the mapping relationship are stored in the control parameter text library together. The mapping relationship can associate the text identifier with the fused control parameter text, so that the corresponding fused control parameter text can be accurately found through the text identifier.

[0125] Through steps S401B to S403B, the corresponding control parameter text can be fused according to the fusion instruction, the fused control parameter text can be generated, and a text identifier can be generated. Finally, the fused control parameter text and the text identifier are mapped and stored in the control parameter text library, so that new control parameter text can be simply generated, and the editing efficiency of the control parameter text for controlling the robot's movement is improved.

[0126] Figure 9 It is a schematic diagram of an implementation process for establishing a mapping relationship provided by an embodiment of the present application. As Figure 9 shown, before step S101, a mapping relationship between the object joints and the machine joints can also be established, including the following steps S501 to S502:

[0127] Step S501, obtain all the object joints of the target object and all the machine joints of the robot.

[0128] In the embodiment of the present application, the server can obtain the joint identifiers of all the object joints of the target object and the joint identifiers of all the machine joints of the robot. For example, the target object is a human body, and the robot is a humanoid robot with multi-degree-of-freedom joints. All the joints of the target object (i.e., the human body) can include: head joint, left shoulder joint, right shoulder joint, left elbow joint, right elbow joint, left wrist joint, right wrist joint, left hip joint, right hip joint, left knee joint, right knee joint, left ankle joint, and right ankle joint. Each object joint has a unique joint identifier, and the joint identifier can be a text (such as the joint name), a digital number, a combination of letters, a combination of special symbols, or a mixed form of these elements. All the joints of the robot can include: head joint, left shoulder joint, right shoulder joint, left elbow joint, right elbow joint, left wrist joint, right wrist joint, left hip joint, right hip joint, left knee joint, right knee joint, left ankle joint, and right ankle joint. Each machine joint has a unique joint identifier, and the joint identifier can be a text (such as the joint name), a digital number, a combination of letters, a combination of special symbols, or a mixed form of these elements.

[0129] Step S502, establish a mapping relationship between each object joint and a machine joint to obtain the target mapping relationship.

[0130] In the embodiments of the present application, the joint identifier of each object joint of the target object can be made to correspond one by one with the joint identifier of a machine joint of the robot, so as to establish a corresponding relationship, that is, a mapping relationship, between each object joint of the target object and a machine joint of the robot. For example, the joint identifier of the head joint of the target object is "OJ1", and the joint identifier of the head joint of the robot is "MJ1". "OJ1" is associated with "MJ1" to establish a mapping relationship between the head joint of the target object and the head joint of the robot. The mapping relationships of other joints can be referred to the above method and will not be elaborated here.

[0131] In some embodiments, referring to Figure 10 , Figure 10 it is shown that step S502 can also be implemented through the following steps S5021 to S5023:

[0132] Step S5021, determine the first movement direction of each object joint and the second movement direction of each machine joint.

[0133] In the embodiments of the present application, determine the first movement direction of each object joint, and the number of first movement directions can be one or more. Determine the second movement direction of each machine joint, and the number of first movement directions can be one or more. For example, the target object is a human body and the robot is a humanoid robot. The left shoulder joint (i.e., the object joint) of the human body can perform various movements, such as swinging forward and backward, swinging left and right, etc. By establishing a coordinate system, the respective axis directions in the coordinate system can represent the movement directions of the left shoulder joint. Assume that the origin of the coordinate system is located at the center position of the left shoulder joint. The movement directions of the left shoulder joint include the movement in the X-axis direction (swinging forward and backward), the movement in the Y-axis direction (swinging up and down), and the movement in the Z-axis direction (swinging left and right). The left shoulder joint (i.e., the machine joint) of the robot can achieve various movements through motors, such as rotation around the X-axis (Roll), rotation around the Y-axis (Pitch), and rotation around the Z-axis (Yaw).

[0134] Step S5022, for each object joint, determine the target machine joint and the second movement direction of the target machine joint from all the machine joints.

[0135] In the embodiments of the present application, for each object joint, first determine the target machine joint corresponding to the object joint from all the machine joints, and then determine the second movement direction of the target machine joint according to the target machine joint.

[0136] For example, for the left shoulder joint of the human body, the corresponding target machine joint of the left shoulder joint can be the left shoulder joint of the robot. The second movement directions corresponding to the left shoulder joint of the robot can include: rotation around the X-axis (Roll), rotation around the Y-axis (Pitch), and rotation around the Z-axis (Yaw). For the left elbow joint of the human body, when the left elbow joint of the human body moves, it may drive the left shoulder joint, left elbow joint, and left wrist joint to all move. Then, the corresponding target machine joints of the left elbow joint can be the left shoulder joint, left elbow joint, and left wrist joint of the robot. It should be noted that for each object joint, one or more machine joints of the robot can be corresponding, which is specifically set according to the actual situation.

[0137] Step S5023: Associate each first movement direction of the object joint with one of the second movement directions of the target machine joint to obtain the mapping relationship between the first movement direction of the object joint and the second movement direction of the target machine joint.

[0138] In the embodiment of the present application, for each first movement direction of each object joint, it is associated with one of the second movement directions of the target machine joint, so as to obtain the mapping relationship between the first movement direction of the object joint and the second movement direction of the target machine joint. It should be noted that if the first movement directions of two or more object joints have an association relationship with the second movement direction of the same target machine joint, the first movement directions of the two or more object joints can be summarized, and the summarized result is mapped to the second movement direction of the target machine joint, so as to obtain the mapping relationship between the first movement direction of the object joint and the second movement direction of the target machine joint.

[0139] For example, a mapping relationship table as shown in Table 1 can be established according to the left shoulder joint, left elbow joint, and left wrist joint of the human body and the left shoulder joint, left elbow joint, and left wrist joint of the robot:

[0140] Table 1 Mapping Relationship between Human Joints and Robot Joints

[0141] Human joint information Robot joint Left - shoulder - x direction Left - shoulder - roll Left - shoulder - y direction Left - shoulder - pitch Left - shoulder - z direction + Left - elbow - x direction Left - shoulder - yaw Left - elbow - y direction Left - elbow - pitch Left - elbow - z direction + Left - wrist - z direction Left - wrist - yaw Left - wrist - x direction Left - wrist - roll Right - shoulder - x direction Right - shoulder - roll Right - shoulder - y direction Right - shoulder - pitch Right - shoulder - z direction + Right - elbow - x direction Right - shoulder - yaw Right - elbow - y direction Right - elbow - pitch Right - elbow - z direction + Right - wrist - z direction Right - wrist - yaw Right - wrist - x direction Right - wrist - roll Head - x direction Head - roll Head - y direction Head - pitch Head - z direction Head - yaw

[0142] Through steps S5021 to S5023, the precise mapping between the movement direction of the target object joint and the movement direction of the robot joint is realized. This process enables the robot to simulate or match the actions of the target object through the movement of its own joints according to the action requirements of the target object, so as to achieve precise action control and interaction. This mapping relationship not only improves the adaptability and flexibility of the robot to complex actions, but also provides a more efficient and precise control basis for the application of the robot in various application scenarios, enhancing the naturalness and practicality of human-computer interaction.

[0143] Through steps S501 to S502, the mapping relationship between each object joint of the target object and the corresponding machine joint of the robot can be established, achieving the precise matching of the target object and the robot joints, enabling the robot to control the actions of its joints according to the actions of the joints of the target object, and realizing the simulation of the actions of the target object.

[0144] Next, the exemplary application of the embodiments of the present application in a practical application scenario will be described.

[0145] The embodiments of the present application can use teleoperation technology to capture human actions in real time, accurately map human joints to robot joints, achieve real action reproduction, and enable the robot to execute actions similar to those of humans more naturally; then, through the action recording and calling functions, human movements are recorded in real time and automatically converted into robot joint angles, simplifying the robot action editing process, reducing manual intervention, and thus improving the efficiency of action editing. Refer to Figure 11 , Figure 11 is a flowchart of the control principle of the robot provided by the embodiments of the present application, and an exemplary description is given taking the execution entity as a server. Step S1101, obtain human action information (i.e., motion data). For example, obtain human action information through an action capture system, and then perform joint mapping (i.e., the target mapping relationship) between the joints of the human body (i.e., object joints) and the joints of the robot (i.e., machine joints) through teleoperation, so as to convert the joint movement of the human into the joint movement of the robot. Step S1102, control the robot to synchronize with the human actions. The action recording function is realized through steps S1101 and S1102. Step S1103, save the action information of each joint of the robot. Step S1104, determine whether to edit the action. If it is necessary to edit the action, jump to step S1105. Step S1105, import the action information of each joint of the robot into the editing software. Step S1106, smooth, adjust the action sequence, etc. Then generate an action package (i.e., a control parameter text). If it is not necessary to edit the action, after generating the action package, jump to step S1107. Step S1107, call the action. Step S1108, control the bionic robot to reproduce the human actions. The following specifically describes each important link in the entire process.

[0146] I. Bionic robot joint mapping under real-time teleoperation.

[0147] First, based on a motion capture device (e.g., an inertial motion capture system), collect the information of each joint of the human body (i.e., motion data). Under a wireless local area network, receive the information of each joint of the human body sent by the motion capture device, and then convert it into a form of communication with the robot operating system (e.g., in the form of a ROS2 (Robot Operating System 2) Topic). After low-pass filtering to remove jump data, finally, map these human joints to each joint of the robot and issue instructions (i.e., robot control instructions) to control the rotation of each joint motor to achieve the synchronous actions of the robot. The mapping relationship between the human joints and the robot joints is shown in Table 1.

[0148] II. Action recording and editing.

[0149] The principle of the action recording function is as follows: According to the refresh frequency of the teleoperation main function (i.e., the preset sampling frequency), every time after entering the updata() function, the human joint data (i.e., motion data) at the current moment is read. After the human joint data is processed and mapped, it is converted into data sent to the motor, such as the rotation angles of each joint of the robot (i.e., the control parameter sequence). At this time, record the rotation angles sent to each joint of the robot in Table 1 and save them in a text file (i.e., the control parameter text, e.g.,.txt file); after the human body finishes all actions, exit the teleoperation program, and the action recording ends. As Figure 5 shown, Figure 5 is the saved.txt file. Each line in the file represents the data recorded under each updata(). For example, if the main program running frequency (i.e., the preset control frequency) is 100Hz, it means that the rotation data of each joint motor of the robot is recorded every 0.01 seconds; each line of data has 15 items, which respectively correspond to the radians of rotation of each joint in Table 1.

[0150] After action recording, these actions can be directly called or provided for users to edit. The editing method is: import the.txt file into the MAYA software. As Figure 12 shown, Figure 12 is a schematic diagram of the editing software provided by the embodiment of the present application. The software can edit the curves of each joint, such as smoothing, repeating actions, removing noise points, etc. After editing, export the processed data in the original format.

[0151] III. Action calling and the robot's reproduction of human actions.

[0152] In the action calling function, it is possible not to rely on the real-time data input of the motion capture device, but directly read the target rotation angles (i.e., sub-control parameters) of the motors corresponding to each joint from the pre-recorded action package. This process requires that the frequency of the main program must be consistent with that during action recording to ensure the smooth reproduction of the action.

[0153] Specifically, if the frequency of the main program (i.e., the preset control frequency) is set to 100 Hz, then every 0.01 seconds, a line of data can be read from the action package. This line of data contains the rotation angles that all joint motors should have at a specific moment. These angle values are then sent to the motor controller of the robot to guide the motors to rotate according to the predetermined angles.

[0154] In this way, the robot can accurately reproduce the action sequence during recording. Since the reading and execution speeds are exactly the same as during recording, high consistency and synchronization of the actions can be ensured.

[0155] Based on the control method of the robot described in the above embodiments, Figure 13 FIG. shows a structural block diagram of a control device 100 of a robot provided by an embodiment of the present application. The control device of the robot can be a device in an electronic device (for example, a server). The control device of the robot can be implemented in a software manner, and it can be software in the form of a program and a plugin, etc., including the following software modules: a text acquisition module 101, a text parsing module 102, and a control module 103. These modules are logical, so they can be combined arbitrarily or further split according to the functions to be implemented.

[0156] Among them, the text acquisition module 101 is used to obtain the pre-generated control parameter text of the robot in response to a robot control instruction; the text parsing module 102 is used to parse the control parameter text to obtain a control parameter sequence of the machine joints of the robot in a first time period; wherein, the control parameters in the control parameter sequence are obtained by converting first motion data based on a target mapping relationship; the target mapping relationship is a mapping relationship between the object joints of a target object and the machine joints of the robot, and the first motion data is the motion data of the target object in a preset time period; the control module 103 is used to control the machine joints of the robot according to the control parameters in the control parameter sequence.

[0157] In some embodiments, the text acquisition module 101 is further used to determine a current task identifier of the current control task in response to a robot control instruction; based on a preset identifier mapping relationship between the task identifier and the text identifier, determine a target text identifier corresponding to the current task identifier; based on the target text identifier, obtain the pre-generated control parameter text of the robot from a control parameter text library.

[0158] In some embodiments, the device further includes a text generation module, configured to obtain a motion data sequence of the target object within a preset time period and a preset control parameter text format; convert each motion data in the motion data sequence into a control parameter of a machine joint of the robot according to the target mapping relationship; determine the generation time of each control parameter; save the control parameter based on the generation time and the preset control parameter text format to obtain the control parameter text; and add the control parameter text to the control parameter text library.

[0159] In some embodiments, the text generation module is further configured to obtain the motion information of the target object within the preset time period at a preset sampling frequency; convert the motion information into target motion data in a target format; and filter the target motion data to obtain the motion data sequence of the target object within the preset time period.

[0160] In some embodiments, the device further includes a text modification module, configured to, in response to a modification instruction for any control parameter text in the control parameter text library, modify the control parameter text to obtain a target control parameter text; and replace the control parameter text with the target control parameter text.

[0161] In some embodiments, the device further includes a text fusion module, configured to, in response to a fusion instruction for T control parameter texts in the control parameter text library, splice the T control parameter texts to obtain a fused control parameter text, where T is an integer greater than 1; generate a text identifier for the fused control parameter text; and store the text identifier and the fused control parameter text in a mapped manner in the control parameter text library.

[0162] In some embodiments, the device further includes a mapping relationship establishment module, configured to obtain all object joints of the target object and all machine joints of the robot; and establish a mapping relationship between each object joint and a machine joint to obtain the target mapping relationship.

[0163] In some embodiments, the device further includes a mapping relationship establishment module, configured to determine a first motion direction of each object joint and a second motion direction of each machine joint; for each object joint, determine a target machine joint and the second motion direction of the target machine joint from all the machine joints; and associate each first motion direction of the object joint with one of the second motion directions of the target machine joint to obtain the mapping relationship between the first motion direction of the object joint and the second motion direction of the target machine joint.

[0164] In some embodiments, the control module 103 is further configured to obtain a preset control frequency; determine a parameter to be controlled from the control parameter sequence according to the preset control frequency; determine the robotic joints of the robot corresponding to each sub-control parameter in the parameter to be controlled; and control the robotic joints according to each sub-control parameter.

[0165] It should be noted that the description of the device in the embodiments of the present application is similar to the description of the above method embodiments, and has similar beneficial effects as the method embodiments, so details will not be repeated here. For the technical details not disclosed in the embodiments of the present device, please refer to the description of the method embodiments of the present application for understanding.

[0166] The embodiments of the present application provide an electronic device. Figure 14 It is a schematic structural diagram of the electronic device provided by the embodiments of the present application. As Figure 14 shown, the electronic device 130 includes: at least one processor 131 ( Figure 14 only one is shown in the figure), a memory 132, and executable instructions 133 stored in the memory 132 and executable on at least one processor 131. When the processor 131 executes the executable instructions 133, the steps in any of the above-described method embodiments for controlling a robot are implemented.

[0167] The electronic device may include, but is not limited to, the processor 131 and the memory 132. Those skilled in the art can understand that Figure 14 this is only an example of the electronic device 130, and does not constitute a limitation on the electronic device 130. It may include more or fewer components than shown in the figure, or combine certain components, or different components. For example, it may also include input / output devices, network access devices, etc.

[0168] The processor 131 may be a central processing unit (CPU, Central Processing Unit), and the processor 131 may also be other general-purpose processors, digital signal processors (DSP, Digital Signal Processor), application specific integrated circuits (ASIC, Application Specific Integrated Circuit), field-programmable gate arrays (FPG, Field-programmable gate array), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.

[0169] The memory 132 may be an internal storage unit of the electronic device 130 in some embodiments, such as a hard disk or memory of the electronic device 130. The memory 132 may also be an external storage device of the electronic device 130 in other embodiments, such as a plug-in hard disk equipped on the electronic device 130, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. Further, the memory 132 may also include both an internal storage unit and an external storage device of the electronic device 130. The memory 132 is used to store an operating system, application programs, a boot loader, data, and other programs, such as program codes of computer programs. The memory 132 may also be used to temporarily store data that has been output or will be output.

[0170] Embodiments of the present application provide a computer program product, which includes a computer program or computer-executable instructions, and the computer program or computer-executable instructions are stored in a computer-readable storage medium. A processor of an electronic device reads the computer-executable instructions from the computer-readable storage medium, and the processor executes the computer-executable instructions, so that the electronic device executes the control method of the robot described above in the embodiments of the present application.

[0171] Embodiments of the present application provide a computer-readable storage medium, in which computer-executable instructions or a computer program are stored. When the computer-executable instructions or the computer program are executed by a processor, the processor will be caused to execute the control method of the robot provided in the embodiments of the present application. For example, Figure 2 the control method of the robot shown.

[0172] In some embodiments, the computer-readable storage medium may be a memory such as RAM, ROM, flash memory, magnetic surface memory, optical disc, or CD-ROM; it may also be various devices including one or any combination of the above memories.

[0173] In some embodiments, the computer-executable instructions may be in the form of a program, software, software module, script, or code, and may be written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including being deployed as an independent program or being deployed as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0174] By way of example, the computer-executable instructions may or may not correspond to a file in a file system, may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a Hyper Text Markup Language (HTML) document, stored in a single file dedicated to the program being discussed, or, stored in multiple cooperating files (such as files that store one or more modules, subroutines, or portions of code).

[0175] By way of example, the computer-executable instructions may be deployed to execute on one electronic device, or on multiple electronic devices located at one site, or, on multiple electronic devices distributed across multiple sites and interconnected by a communication network.

[0176] As described above, the above are only embodiments of the present application and are not intended to limit the protection scope of the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and scope of the present application are all included within the protection scope of the present application.

Claims

1. A robot control method, characterized in that: The method comprises: In response to a robot control instruction, obtaining a pre-generated control parameter text of the robot; The control parameter text is parsed to obtain a control parameter sequence of the machine joint of the robot within a first time period; wherein the control parameters in the control parameter sequence are obtained by converting the first motion data based on a target mapping relationship; the target mapping relationship is a mapping relationship between an object joint of a target object and a machine joint of the robot, and the first motion data is motion data of the target object within a preset time period; The machine joints of the robot are controlled according to the control parameters in the control parameter sequence.

2. The method according to claim 1, characterized in that The step of obtaining a pre-generated control parameter text of the robot in response to the robot control instruction comprises: In response to the robot control instruction, determining a current task identifier of a current control task; Determine a target text identifier corresponding to the current task identifier based on a preset identifier mapping relationship between the task identifier and the text identifier; Based on the target text identifier, a pre-generated control parameter text of the robot is obtained from a control parameter text library.

3. The method according to claim 2, characterized in that Before obtaining a pre-generated control parameter text of the robot in response to the robot control instruction, the method further includes: Acquire the motion data sequence of the target object within a preset time period and a preset control parameter text format; converting each motion data in the motion data sequence into a control parameter of a machine joint of the robot according to the target mapping relationship; Determining the generation time of each of the control parameters; The control parameter is saved based on the generation time and the preset control parameter text format to obtain the control parameter text; The control parameter text is added to the control parameter text library.

4. The method according to claim 3, characterized in that The acquiring of the motion data sequence of the target object within a preset time period includes: Acquiring the motion information of the target object within the preset time period according to the preset sampling frequency; Converting the motion information into target motion data in a target format; The target motion data is filtered to obtain a motion data sequence of the target object within a preset time period.

5. The method according to claim 3, characterized in that: The method further comprises: In response to a modification instruction for any control parameter text in the control parameter text library, modify the control parameter text to obtain a target control parameter text; The control parameter text is replaced with the target control parameter text.

6. The method according to claim 3, characterized in that The method further comprises: In response to a fusion instruction for T control parameter texts in the control parameter text library, text splicing is performed on the T control parameter texts to obtain a fused control parameter text; T is an integer greater than 1; Generating a text mark for the fused control parameter text; The text identifier and the fused control parameter text are mapped and stored in the control parameter text library.

7. The method according to claim 1, characterized in that Before obtaining a pre-generated control parameter text of the robot in response to the robot control instruction, the method further includes: Acquire all object joints of the target object and all machine joints of the robot; A mapping relationship between each object joint and a machine joint is established to obtain the target mapping relationship.

8. The method according to claim 7, characterized in that The step of establishing a mapping relationship between each object joint and a machine joint includes: Determining a first direction of motion of each of the object joints and a second direction of motion of each of the machine joints; For each of the object joints, determining a target machine joint and a second motion direction of the target machine joint from all the machine joints; Each first movement direction of the object joint is associated with one of the second movement directions of the target machine joint to obtain the mapping relationship between the first movement direction of the object joint and the second movement direction of the target machine joint.

9. The method according to any one of claims 1 to 8, characterized in that: The controlling the machine joints of the robot according to the control parameters in the control parameter sequence comprises: Get the preset control frequency; According to the preset control frequency, determining a parameter to be controlled from the control parameter sequence; Determine a machine joint of the robot corresponding to each sub-control parameter in the to-be-controlled parameter; The machine joint is controlled according to each sub-control parameter.

10. A robot control device, characterized in that: The device comprises: A text acquisition module, used for acquiring a pre-generated control parameter text of the robot in response to a robot control instruction; A text parsing module, used for parsing the control parameter text to obtain a control parameter sequence of the machine joint of the robot within a first time period; wherein the control parameters in the control parameter sequence are obtained by converting the first motion data based on a target mapping relationship; the target mapping relationship is a mapping relationship between the object joint of the target object and the machine joint of the robot, and the first motion data is the motion data of the target object within a preset time period; A control module is used to control the machine joints of the robot according to the control parameters in the control parameter sequence.

11. An electronic device, characterized in that: The electronic device comprises: A memory for storing computer executable instructions or computer programs; A processor, configured to implement the robot control method according to any one of claims 1 to 9 when executing the computer executable instructions or computer programs stored in the memory.

12. A computer-readable storage medium storing computer-executable instructions or a computer program, characterized in that: When the computer executable instructions or computer programs are executed by a processor, the robot control method according to any one of claims 1 to 9 is implemented.

Citation Information

Cited By

  • Real-time whole-body remote operation control system for humanoid robot

    CN121223818A