A robot control method, apparatus, device, and medium

By determining the trajectory point set and joint control information of the robot's end effector, the stability and safety issues caused by robot vibration were resolved, thus achieving accuracy and safety in robot motion.

CN119115955BActive Publication Date: 2025-11-18SIASUN CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411474993.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-22
Publication Date
2025-11-18
Estimated Expiration
2044-10-22

AI Technical Summary

Technical Problem

Existing robot control methods may cause robot vibration during actual movement, failing to guarantee operational stability and safety.

Method used

By determining the trajectory point set based on the initial and target points of the robot's end effector, and obtaining the joint control information of each joint, including joint position, joint velocity, and joint acceleration, the robot's joint motion is controlled to achieve accurate motion of the end effector.

Benefits of technology

This improves the accuracy of robot control and ensures the stability and safety of robot operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119115955B_ABST
    Figure CN119115955B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a robot control method, device, equipment and medium. The method comprises: determining a trajectory point set based on an initial point and a target point of an end effector of a robot; obtaining joint control information corresponding to each joint of the robot when the end effector is at each trajectory point in the trajectory point set; wherein the joint control information comprises at least one of joint position, joint speed and joint acceleration; for each adjacent first trajectory point and second trajectory point in the trajectory point set, controlling the movement of each joint according to the first joint control information corresponding to each joint at the first trajectory point and the second joint control information corresponding to each joint at the second trajectory point, so that the end effector moves from the first trajectory point to the second trajectory point. The technical solution can accurately control the movement of each joint of the robot, thereby improving the accuracy of robot control and ensuring the stability and safety of robot operation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the field of robotics, and in particular to a robot control method, apparatus, device and medium. Background Technology

[0002] With the widespread use of robots in various application scenarios, the stability and safety of robot operation are of paramount importance. Existing robot control methods, such as time-optimal programming, are primarily applied to offline solutions. In actual operation, these methods may cause additional vibrations to the robot, failing to guarantee its stability and safety. Summary of the Invention

[0003] This invention provides a robot control method, apparatus, device, and medium that can improve the accuracy of robot control and ensure the stability and safety of robot operation.

[0004] In a first aspect, embodiments of the present invention provide a robot control method, comprising:

[0005] Determine the trajectory point set based on the initial and target points of the robot's end effector;

[0006] When the end effector is located at each trajectory point in the trajectory point set, obtain the joint control information corresponding to each joint of the robot; wherein, the joint control information includes at least one of joint position, joint velocity, and joint acceleration;

[0007] For each adjacent first trajectory point and second trajectory point in the trajectory point set, the movement of each joint is controlled according to the first joint control information corresponding to each joint at the first trajectory point and the second joint control information corresponding to each joint at the second trajectory point, so that the end effector moves from the first trajectory point to the second trajectory point.

[0008] Secondly, embodiments of the present invention also provide a robot control device, the device comprising:

[0009] The trajectory point set determination module is used to determine the trajectory point set based on the initial point and target point of the robot's end effector;

[0010] The information acquisition module is used to acquire joint control information corresponding to each joint of the robot when the end effector is at each trajectory point in the trajectory point set; wherein, the joint control information includes at least one of joint position, joint velocity, and joint acceleration;

[0011] The joint control module is used to control the movement of each joint for each adjacent first trajectory point and second trajectory point in the trajectory point set, according to the first joint control information corresponding to each joint at the first trajectory point and the second joint control information corresponding to each joint at the second trajectory point, so that the end effector moves from the first trajectory point to the second trajectory point.

[0012] Thirdly, embodiments of the present invention also provide an electronic device, the electronic device comprising:

[0013] At least one processor; and

[0014] A memory communicatively connected to the at least one processor; wherein,

[0015] The memory stores a computer program that can be executed by the at least one processor, which enables the at least one processor to perform the robot control method described in the embodiments of the present invention.

[0016] Fourthly, embodiments of the present invention also provide a computer-readable storage medium storing computer instructions, which are used to cause a processor to execute and implement the robot control method described in the embodiments of the present invention.

[0017] This invention discloses a robot control method, apparatus, device, and medium, comprising: determining a trajectory point set based on the initial point and target point of the robot's end effector; acquiring joint control information corresponding to each joint of the robot when the end effector is at each trajectory point in the trajectory point set; wherein the joint control information includes at least one of joint position, joint velocity, and joint acceleration; for each adjacent first trajectory point and second trajectory point in the trajectory point set, controlling the movement of each joint according to the first joint control information corresponding to each joint at the first trajectory point and the second joint control information corresponding to each joint at the second trajectory point, so that the end effector moves from the first trajectory point to the second trajectory point. The above technical solution specifically considers controlling the robot's end effector to move continuously along a specific trajectory. It determines a set of trajectory points based on the robot's initial and target points, and acquires joint control information for each joint of the robot when the end effector is at each trajectory point in the set. Simultaneously, for each adjacent first and second trajectory point in the set, it controls the movement of each joint based on the first joint control information at the first trajectory point and the second joint control information at the second trajectory point. This ensures accurate control of the robot's joint movements as the end effector moves from the first trajectory point to the second trajectory point. Compared to existing technologies, the technical solution provided in this embodiment can accurately control the movement of each joint of the robot, thereby improving the accuracy of robot control and ensuring the stability and safety of robot operation. Attached Figure Description

[0018] Figure 1 This is a flowchart of a robot control method according to Embodiment 1 of the present invention;

[0019] Figure 2 This is a flowchart of a robot control method according to Embodiment 2 of the present invention;

[0020] Figure 3 This is a schematic diagram of the structure of a robot control device according to Embodiment 3 of the present invention;

[0021] Figure 4 This is a schematic diagram of the structure of an electronic device according to Embodiment 4 of the present invention. Detailed Implementation

[0022] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, the accompanying drawings show only the parts relevant to the present invention, and not all of the structures.

[0023] Example 1

[0024] Figure 1 This is a flowchart of a robot control method provided in Embodiment 1 of the present invention. This embodiment is applicable to situations involving robot control. The method can be executed by a robot control device, which can be implemented in software and / or hardware, optionally through an electronic device, such as a mobile terminal, PC, or server. Specifically, it includes the following steps:

[0025] S110. Determine the trajectory point set based on the initial point and target point of the robot's end effector.

[0026] In this embodiment, the end effector can be understood as a device connected to the end of the robot arm. End effectors come in various types, such as grippers, suction cups, and welding torches. Specifically, the selection of the end effector is determined by the robot's task. For example, if the robot's task is to grasp an object, a gripper is selected as the end effector.

[0027] In this embodiment, when the robot performs a task, it is first necessary to determine the robot's motion trajectory points. This embodiment focuses on the robot's end effector and considers the end effector's motion trajectory points. The initial point can be understood as the current position of the end effector, and the target point can be understood as the final position the end effector aims to reach. The trajectory point set can be understood as the set of trajectory points traversed by the end effector from the initial point to the target point.

[0028] In this embodiment, one implementation of determining the trajectory point set based on the initial point and target point of the robot's end effector can be described as follows: determining at least one intermediate point based on the initial point and target point of the end effector; and using the initial point, at least one intermediate point, and the target point as the trajectory point set. The trajectory points in the trajectory point set are arranged in a certain order; for example, assuming the initial point is denoted as A1 and the target point as A... n At least one intermediate point is: A2, A3, ..., A n-1 Then the set of trajectory points is {A1, A2, A3, ..., A...} n-1 A n} contains a total of n trajectory points.

[0029] S120. Obtain the joint control information corresponding to each joint of the robot when the end effector is at each trajectory point in the trajectory point set.

[0030] In this embodiment, the joints are sequentially connected by links to form a robotic arm, wherein the movement of each joint guides the movement of the end effector. The joint control information can be understood as key information controlling the joint movement; specifically, the joint control information may include at least one of joint position, joint velocity, and joint acceleration. Joint position can be understood as joint angle.

[0031] In this embodiment, the joint control information is pre-stored in a setting information table, which records the joint control information corresponding to each joint of the robot when the end effector is at each trajectory point.

[0032] For example, assuming there are m joints in total, the joint control information corresponding to the m joints when the end effector is at trajectory point A1, the joint control information corresponding to the m joints when the end effector is at trajectory point A2, ..., the joint control information corresponding to the m joints when the end effector is at trajectory point A... are obtained from the setting information table. n At any given time, the joint control information corresponding to m joints.

[0033] S130. For each adjacent first trajectory point and second trajectory point in the trajectory point set, control the movement of each joint according to the first joint control information corresponding to each joint at the first trajectory point and the second joint control information corresponding to each joint at the second trajectory point, so that the end effector moves from the first trajectory point to the second trajectory point.

[0034] In this embodiment, the first trajectory point and the second trajectory point can be understood as a pair of adjacent trajectory points in the trajectory point set, with the first trajectory point preceding the second trajectory point. For example, in the trajectory point set, trajectory points A1 and A2 are a pair of adjacent trajectory points, where A1 is the first trajectory point and A2 is the second trajectory point; similarly, A2 and A3 are also a pair of adjacent trajectory points, where A2 is the first trajectory point and A3 is the second trajectory point.

[0035] In this embodiment, the first joint control information can be understood as the joint control information corresponding to each joint when the end effector is at the first trajectory point; the second joint control information can be understood as the joint control information corresponding to each joint when the end effector is at the second trajectory point.

[0036] For example, taking trajectory points A1 and A2 in the trajectory point set as examples, the movement of each joint is controlled according to the first joint control information corresponding to each joint at trajectory point A1 and the second joint control information corresponding to each joint at trajectory point A2, thereby causing the end effector to move from trajectory point A1 to trajectory point A2. Similarly, the steps described above are applied to other adjacent first and second trajectory points in the trajectory point set.

[0037] In this embodiment, controlling the movement of each joint based on the first joint control information corresponding to each joint at the first trajectory point and the second joint control information corresponding to each joint at the second trajectory point can be described in one of the following steps:

[0038] a1) Determine multiple predicted joint control information between the first trajectory point and the second trajectory point based on the first joint control information;

[0039] In this embodiment, each predicted joint control information is determined by a preset prediction method based on the previous predicted joint control information or the first joint control information.

[0040] Furthermore, the previously predicted joint control information can be understood as the predicted joint control information preceding a certain predicted joint control information. The preset prediction method is a pre-defined prediction method used to determine the predicted joint control information. For example, the preset prediction method can be a Model Predictive Control (MPC) method.

[0041] For example, assuming there are k predicted joint control information, denoted as y(1), y(2), ..., y(k), the method of determining multiple predicted joint control information between the first trajectory point and the second trajectory point based on the first joint control information can be described as follows: Based on the first joint control information, predictive joint control information y(1) is determined by a preset prediction method; based on the predicted joint control information y(1), predictive joint control information y(2) is determined by a preset prediction method; ..., based on the predicted joint control information y(k-1), predictive joint control information y(k) is determined by a preset prediction method.

[0042] b1) Control the movement of each joint based on the first joint control information, multiple predicted joint control information and the second joint control information.

[0043] In this embodiment, the first joint control information may include at least one of the following: first joint position, first joint velocity, and first joint acceleration; each predicted joint control information may include at least one of the following: predicted joint position, predicted joint velocity, and predicted joint acceleration; the second joint control information may include at least one of the following: second joint position, second joint velocity, and second joint acceleration.

[0044] For example, suppose the predicted joint control information y(i) includes: predicted joint position z(i), predicted joint velocity v(i), and predicted joint acceleration a(i), where i = 1, 2, ..., k. Then, for controlling the movement of each joint based on the first joint control information, multiple predicted joint control information, and the second joint control information, one implementation method can be described as follows: First, control each joint to move from the first joint position to the predicted joint position z(1) according to the corresponding predicted joint velocity v(1) and predicted joint acceleration a(1); Second, control each joint to move from the predicted joint position z(1) to the predicted joint position z(2) according to the corresponding predicted joint velocity v(2) and predicted joint acceleration a(2); ...; control each joint to move from the predicted joint position z(k-1) to the predicted joint position z(k) according to the corresponding predicted joint velocity v(k) and predicted joint acceleration a(k); Finally, control each joint to move from the predicted joint position z(k) to the second joint position according to the corresponding second joint velocity and second joint acceleration.

[0045] In this embodiment, another implementation of controlling the movement of each joint based on the first joint control information corresponding to each joint at the first trajectory point and the second joint control information corresponding to each joint at the second trajectory point can be described as follows: using the first joint control information as the current joint control information, and obtaining predicted joint control information based on the current joint control information using a preset prediction method; controlling the movement of each joint based on the predicted joint control information; if the predicted joint control information is inconsistent with the second joint control information, then using the predicted joint control information as the current joint control information, and returning to execute the operation of obtaining the predicted joint control information based on the current joint control information using a preset prediction method, until the predicted joint control information is consistent with the second joint control information.

[0046] In this embodiment, if the predicted joint control information is inconsistent with the second joint control information, it indicates that the joints have not yet moved to the second joint position, meaning the end effector has not reached the second trajectory point. If the predicted joint control information is consistent with the second joint control information, it indicates that the joints have moved to the second joint position, meaning the end effector has reached the second trajectory point.

[0047] In this embodiment, the difference between the predicted joint control information and the second joint control information can be used to determine whether the predicted joint control information and the second joint control information are consistent.

[0048] The technical solution of this embodiment determines a trajectory point set based on the initial point and target point of the robot's end effector; obtains joint control information corresponding to each joint of the robot when the end effector is at each trajectory point in the trajectory point set; for each adjacent first trajectory point and second trajectory point in the trajectory point set, controls the movement of each joint according to the first joint control information corresponding to each joint at the first trajectory point and the second joint control information corresponding to each joint at the second trajectory point, so that the end effector moves from the first trajectory point to the second trajectory point. Specifically, this technical solution considers controlling the robot's end effector to move continuously along a specific trajectory, thereby determining the trajectory point set based on the robot's initial point and target point, and obtaining joint control information corresponding to each joint of the robot when the end effector is at each trajectory point in the trajectory point set; simultaneously, for each adjacent first trajectory point and second trajectory point in the trajectory point set, controls the movement of each joint according to the first joint control information corresponding to each joint at the first trajectory point and the second joint control information corresponding to each joint at the second trajectory point, so that the end effector moves from the first trajectory point to the second trajectory point, thus accurately controlling the movement of each joint of the robot. The technical solution provided in this embodiment can accurately control the movement of each joint of the robot, thereby improving the accuracy of robot control and ensuring the stability and safety of robot operation.

[0049] Example 2

[0050] Figure 2 This is a flowchart of a robot control method provided in Embodiment 2 of the present invention. Based on the above embodiments, the method includes the following steps:

[0051] S210. Determine the trajectory point set based on the initial point and target point of the robot's end effector.

[0052] S220. Obtain the joint control information corresponding to each joint of the robot when the end effector is at each trajectory point in the trajectory point set.

[0053] S230. For each adjacent first trajectory point and second trajectory point in the trajectory point set, record the first joint control information as the current joint control information.

[0054] In this embodiment, the first joint control information can be understood as the joint control information corresponding to each joint when the end effector is at the first trajectory point.

[0055] S240. Based on the current joint control information, obtain predicted joint control information through a preset prediction method.

[0056] The predicted joint control information includes predicted joint position, predicted joint velocity, and predicted joint acceleration.

[0057] In this embodiment, for obtaining predicted joint control information based on the current joint control information through a preset prediction method, one implementation method can be described as follows:

[0058] a2) Obtain the first coefficient information, the second coefficient information, and the joint acceleration information;

[0059] In this embodiment, the preset prediction method can be MPC. Before using the MPC method to obtain the predicted joint control information, a sampling time needs to be preset. The first coefficient information and the second coefficient information are determined by the sampling time. Optionally, the joint jerk information includes joint jerk at multiple sampling times, and the joint jerk information is the information to be determined.

[0060] For example, the current joint control information is denoted as x. k It includes the current joint position q and the current joint velocity. and current joint acceleration Wherein, the current joint position q is in vector form, consisting of the joint positions of each joint; the current joint velocity... It is in vector form, consisting of the joint velocities of each joint; the current joint acceleration. It is in vector form and consists of the joint accelerations of each joint.

[0061] Based on the above description, the MPC method typically uses the following discrete state-space expression:

[0062]

[0063] Among them, u k For input, y k This is the output.

[0064] Furthermore, when the sampling time is T, the above discrete state-space expression can be transformed into the following form:

[0065]

[0066] in, Let represent the joint jerk at time t, and

[0067]

[0068] Then, set the prediction step size of the MPC method to N, and the total prediction time T. all =N*T, T can be obtained iteratively. all Joint control information X at all sampling times within the time period k As shown below:

[0069]

[0070] Furthermore, the first coefficient information, the second coefficient information, and the joint acceleration information are obtained from the above formula, wherein the first coefficient information is M, the second coefficient information is D, and the joint acceleration information is U. k .

[0071] b2) Construct a cost function based on the current joint control information, the first coefficient information, the second coefficient information, and the joint acceleration information;

[0072] For example, based on the current joint control information x k First coefficient information M, second coefficient information D, and joint acceleration information U k Construct the cost function: in, and R represents the pre-set error weights, and R represents the pre-set input weights. Let R be a diagonal matrix.

[0073] c2) Determine the predicted joint control information based on the cost function.

[0074] In this embodiment, one way to determine the predicted joint control information based on the cost function can be described as the following steps:

[0075] (1) Solve the cost function to obtain the jerk of multiple joints;

[0076] In this embodiment, solving for the cost function can be understood as finding the minimum value of the cost function. Since the cost function S can be regarded as U k The relevant quadratic function allows us to transform the process of finding the minimum cost function into finding the minimum U. k This is a quadratic programming problem. Specifically, it involves the expression in S... In quadratic programming form: Where L = H,

[0077] Furthermore, one way to solve the cost function to obtain multiple joint jerks can be described as follows: obtain the set constraints of the cost function; solve the cost function based on the set constraints to obtain multiple joint jerks.

[0078] Optionally, the method for obtaining multiple joint jerks by solving the cost function based on set constraints can be as follows: based on set constraints, a preset solver is used to solve the cost function to obtain multiple joint jerks. The preset solver can be the quadprog function in the MATLAB interface.

[0079] For example, constraints and a quadratic programming form will be defined. L and P in T The input is fed into the preset solver, which will then output the optimal solution. Among them, the joint acceleration information U k This includes joint jerk at multiple sampling times.

[0080] Furthermore, the constraints include joint control information constraints and joint acceleration constraints. For example, the joint control information constraint is x. min <(x) k+1 =Ax k +Bu k ) < x max The joint acceleration constraint is u min <u k <u max .

[0081] As described above, in addition to joint control information constraints and joint jerk constraints, the constraints also include other constraints, such as joint output torque constraints, overall machine power constraints, end effector speed constraints, and output constraints.

[0082] For example, the output constraint is y min <(y k =Cx k )<y max The speed V of the end effector and the speed of each joint. The relationship between them: The speed constraint condition of the end effector is: Where J is the Jacobian matrix. (Joint velocities) The relationship between the joint torque τ and the joint torque τ: The constraint condition for the joint output torque is as follows: Where M(q) is the inertia term, G(q) represents the Coriolis force and centrifugal force terms, and G(q) represents the gravity term. Similarly, the overall power constraint can be transformed into a constraint on x in the same way described above. k u k Constraints.

[0083] (2) Take the joint accelerometer at the first sampling moment as the target joint accelerometer;

[0084] For example, the joint accelerometer at the first sampling moment is u. (k|k) , will u (k|k) Boost the target joint with accelerator.

[0085] (3) Determine the predicted joint control information based on the target joint acceleration.

[0086] For example, the target joint is accelerated by u (k|k) Substitute into the formula: x k+1 =Ax k +Bu k In the process, predictive joint control information x is obtained. k+1 Among them, the predicted joint control information x k+1 Including predicting joint position q( t+T Predicting joint velocity and predicting joint acceleration

[0087] S250: Control the movement of each joint to the predicted joint position based on the predicted joint velocity and predicted joint acceleration.

[0088] S260. Determine whether the predicted joint control information matches the second joint control information.

[0089] In this embodiment, the second joint control information can be understood as the joint control information corresponding to each joint when the end effector is at the second trajectory point.

[0090] In this embodiment, one way to determine whether the predicted joint control information matches the second joint control information can be described as the following steps:

[0091] a3) If the difference between the predicted joint control information and the second joint control information is within the set range, then the predicted joint control information matches the second joint control information.

[0092] In this embodiment, the set range is a pre-set range. The matching of the predicted joint control information with the second joint control information indicates that each joint has moved to the second joint position, that is, the end effector has reached the second trajectory point.

[0093] b3) If the difference between the predicted joint control information and the second joint control information is not within the set range, then the predicted joint control information and the second joint control information do not match.

[0094] In this embodiment, the mismatch between the predicted joint control information and the second joint control information indicates that the joints have not yet moved to the second joint position, that is, the end effector has not reached the second trajectory point.

[0095] S270. If the predicted joint control information does not match the second joint control information, the predicted joint control information is recorded as the current joint control information, and the operation of obtaining the predicted joint control information based on the current joint control information through a preset prediction control method is returned to be executed until the predicted joint control information matches the second joint control information.

[0096] The technical solution of this embodiment determines a trajectory point set based on the initial point and target point of the robot's end effector; obtains joint control information corresponding to each joint of the robot when the end effector is at each trajectory point in the trajectory point set; for each adjacent first trajectory point and second trajectory point in the trajectory point set, the first joint control information is recorded as the current joint control information; based on the current joint control information, predicted joint control information is obtained through a preset prediction method; each joint is controlled to move to the predicted joint position according to the predicted joint velocity and predicted joint acceleration; it is determined whether the predicted joint control information matches the second joint control information; if the predicted joint control information does not match the second joint control information, the predicted joint control information is recorded as the current joint control information, and the operation of obtaining the predicted joint control information based on the current joint control information through a preset prediction control method is returned to be executed until the predicted joint control information matches the second joint control information. The above technical solution, based on the current joint control information, can accurately obtain predicted joint control information through a preset prediction method; simultaneously, by controlling the movement of each joint to the predicted joint position based on the predicted joint velocity and predicted joint acceleration, it can accurately control the movement of each joint of the robot to the predicted joint position; by determining whether the predicted joint control information matches the second joint control information, it can accurately determine whether the end effector has reached the second trajectory point. The technical solution provided in this embodiment can accurately obtain predicted joint control information and accurately control the movement of each joint of the robot to the predicted joint position, and can accurately determine whether the end effector has reached the second trajectory point, thereby improving the accuracy of robot control and ensuring the stability and safety of robot operation.

[0097] Example 3

[0098] Figure 3 This is a schematic diagram of the structure of a robot control device provided in Embodiment 3 of the present invention, as shown below. Figure 3 As shown, the device includes:

[0099] The trajectory point set determination module 310 is used to determine the trajectory point set based on the initial point and target point of the robot's end effector;

[0100] The information acquisition module 320 is used to acquire joint control information corresponding to each joint of the robot when the end effector is at each trajectory point in the trajectory point set; wherein, the joint control information includes at least one of joint position, joint velocity and joint acceleration;

[0101] The joint control module 330 is used to control the movement of each joint for each adjacent first trajectory point and second trajectory point in the trajectory point set, according to the first joint control information corresponding to each joint at the first trajectory point and the second joint control information corresponding to each joint at the second trajectory point, so that the end effector moves from the first trajectory point to the second trajectory point.

[0102] Optionally, the joint control module 330 can be specifically used for:

[0103] Based on the first joint control information, multiple predicted joint control information between the first trajectory point and the second trajectory point are determined; wherein, each predicted joint control information is determined based on the previous predicted joint control information or the first joint control information through a preset prediction method.

[0104] The movement of each joint is controlled based on the first joint control information, the plurality of predicted joint control information, and the second joint control information.

[0105] Optionally, the joint control module 330 may specifically include:

[0106] Information marking unit, used to record the first joint control information as the current joint control information;

[0107] The predictive joint control information acquisition unit is used to obtain predicted joint control information based on the current joint control information using a preset prediction method; wherein, the predicted joint control information includes predicted joint position, predicted joint velocity, and predicted joint acceleration;

[0108] A joint motion unit is used to control the movement of each joint to the predicted joint position based on the predicted joint velocity and the predicted joint acceleration.

[0109] An information judgment unit is used to determine whether the predicted joint control information matches the second joint control information;

[0110] The return execution unit is configured to, if the predicted joint control information does not match the second joint control information, record the predicted joint control information as the current joint control information and return to execute the operation of obtaining the predicted joint control information based on the current joint control information through a preset predictive control method, until the predicted joint control information matches the second joint control information.

[0111] Optionally, the predicted joint control information acquisition unit may specifically include:

[0112] An information acquisition subunit is used to acquire first coefficient information, second coefficient information, and joint accelerometer information; wherein, the joint accelerometer information includes joint accelerometers at multiple sampling times, and the joint accelerometer information is information to be determined;

[0113] A cost function construction subunit is used to construct a cost function based on the current joint control information, the first coefficient information, the second coefficient information, and the joint acceleration information;

[0114] A predictive joint control information determination subunit is used to determine the predicted joint control information based on the cost function.

[0115] Optionally, the predicted joint control information determining subunit can be specifically used for:

[0116] The cost function is solved to obtain the jerk of multiple joints;

[0117] The joint jerk at the first sampling moment is taken as the target joint jerk;

[0118] Predicted joint control information is determined based on the target joint jerk.

[0119] Optionally, the cost function is solved to obtain multiple joint jerkes, including:

[0120] Obtain the set constraints of the cost function; wherein, the set constraints include joint control information constraints and joint acceleration constraints;

[0121] The cost function is solved based on the set constraints to obtain multiple joint jerks.

[0122] Optionally, the information judgment unit may be specifically used for:

[0123] If the difference between the predicted joint control information and the second joint control information is within a set range, then the predicted joint control information matches the second joint control information.

[0124] If the difference between the predicted joint control information and the second joint control information is not within the set range, then the predicted joint control information and the second joint control information do not match.

[0125] The above-described apparatus can execute the methods provided in all the foregoing embodiments of the present invention, and has the corresponding functional modules and beneficial effects for executing the above methods. Technical details not described in detail in this embodiment can be found in the methods provided in all the foregoing embodiments of the present invention.

[0126] Example 4

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

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

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

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

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

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

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

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

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

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

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

[0138] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.

[0139] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A robot control method characterized by, The method comprises the following steps: determining a set of trajectory points based on an initial point and a target point of an end effector of a robot; obtaining joint control information corresponding to each joint of the robot when the end effector is at each trajectory point in the set of trajectory points; wherein the joint control information comprises at least one of joint position, joint velocity and joint acceleration; for each adjacent first trajectory point and second trajectory point in the set of trajectory points, controlling movement of each joint according to first joint control information corresponding to each joint at the first trajectory point and second joint control information corresponding to each joint at the second trajectory point, so that the end effector moves from the first trajectory point to the second trajectory point; the controlling movement of each joint according to the first joint control information and the second joint control information comprises: taking the first joint control information as current joint control information; obtaining predicted joint control information based on the current joint control information by a preset prediction method; wherein the predicted joint control information comprises predicted joint position, predicted joint velocity and predicted joint acceleration; controlling movement of each joint to the predicted joint position according to the predicted joint velocity and the predicted joint acceleration; judging whether the predicted joint control information matches the second joint control information; if the predicted joint control information does not match the second joint control information, taking the predicted joint control information as the current joint control information, and returning to the operation of obtaining predicted joint control information based on the current joint control information by a preset prediction method until the predicted joint control information matches the second joint control information; the obtaining predicted joint control information based on the current joint control information by a preset prediction method comprises: obtaining first coefficient information, second coefficient information and joint jerk information; wherein the joint jerk information comprises joint jerk at multiple sampling time points, and the joint jerk information is to-be-solved information; constructing a cost function based on the current joint control information, the first coefficient information, the second coefficient information and the joint jerk information; determining predicted joint control information based on the cost function.

2. The method of claim 1, wherein, the controlling movement of each joint according to the first joint control information and the second joint control information comprises: determining multiple predicted joint control information between the first trajectory point and the second trajectory point based on the first joint control information; wherein each predicted joint control information is determined based on a previous predicted joint control information or the first joint control information by a preset prediction method; controlling movement of each joint based on the first joint control information, the multiple predicted joint control information and the second joint control information.

3. The method of claim 1, wherein, the determining predicted joint control information based on the cost function comprises: solving the cost function to obtain multiple joint jerks; taking joint jerk at a first sampling time point as target joint jerk; determine predicted joint control information based on the target jerk.

4. The method of claim 3, wherein, solving the cost function to obtain a plurality of joint jerks, including: obtaining a set of constraints of the cost function; wherein the set of constraints includes a joint control information constraint and a joint jerk constraint; solving the cost function based on the set of constraints to obtain a plurality of joint jerks.

5. The method of claim 1, wherein, determining whether the predicted joint control information matches the second joint control information, including: if the difference between the predicted joint control information and the second joint control information is within a set range, the predicted joint control information matches the second joint control information; if the difference between the predicted joint control information and the second joint control information is not within the set range, the predicted joint control information does not match the second joint control information.

6. A robot control device characterized by comprising: including: a trajectory point set determination module configured to determine a trajectory point set based on an initial point and a target point of an end effector of a robot; an information acquisition module configured to acquire joint control information corresponding to each joint of the robot when the end effector is at each trajectory point in the trajectory point set; wherein the joint control information includes at least one of joint position, joint velocity, and joint acceleration; a joint control module configured to, for each adjacent first trajectory point and second trajectory point in the trajectory point set, control movement of each joint according to first joint control information corresponding to each joint at the first trajectory point and second joint control information corresponding to each joint at the second trajectory point, so that the end effector moves from the first trajectory point to the second trajectory point; the joint control module specifically includes: an information marking unit configured to mark the first joint control information as current joint control information; a predicted joint control information obtaining unit configured to obtain predicted joint control information based on the current joint control information by a preset prediction method; wherein the predicted joint control information includes predicted joint position, predicted joint velocity, and predicted joint acceleration; a joint movement unit configured to control movement of the joints to the predicted joint position according to the predicted joint velocity and the predicted joint acceleration; an information determination unit configured to determine whether the predicted joint control information matches the second joint control information; a return execution unit configured to, if the predicted joint control information does not match the second joint control information, mark the predicted joint control information as the current joint control information, and return to execute the operation of obtaining predicted joint control information based on the current joint control information by a preset prediction method until the predicted joint control information matches the second joint control information; the predicted joint control information obtaining unit specifically includes: an information acquisition subunit configured to acquire first coefficient information, second coefficient information, and joint jerk information; wherein the joint jerk information includes joint jerk at a plurality of sampling times, and the joint jerk information is to-be-solved information; The cost function construction subunit is configured to construct a cost function based on the current joint control information, the first coefficient information, the second coefficient information, and the joint jerk information. The predicted joint control information determination subunit is configured to determine predicted joint control information based on the cost function.

7. An electronic device, comprising: The electronic device comprises: at least one processor; and a memory connected to the at least one processor in communication; wherein The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to perform the robot control method in any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer instructions for causing a processor to perform the robot control method in any one of claims 1-5 when executed.

Citation Information

Patent Citations

  • Track planning method for mechanical arm

    CN107030702A

  • 7-degree-of-freedom anthropomorphic mechanical arm, as well as control method and system thereof

    CN109397271A

  • Bias mechanical arm discrete point trajectory smooth planning method and system and storage medium

    CN116810802A

  • Track-based multi-axis linkage control method, device and equipment and storage medium

    CN117452876A