Robot control method and apparatus, and device and medium
By determining the trajectory point set of the robot's end effector and joint control information, the stability and safety issues caused by robot vibration were resolved, and accurate joint motion control was achieved.
Patent Information
- Application Number
- PCT/CN2024/128362
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-10-22
- Filing Date
- 2024-10-30
- Publication Date
- 2026-04-30
AI Technical Summary
Existing robot control methods may cause robot vibration during time-optimal planning, affecting operational stability and safety.
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, the robot's joint movement is controlled to achieve accurate trajectory tracking.
This improves the accuracy of robot control and the stability of its operation, thus ensuring robot safety.
Smart Images

Figure CN2024128362_30042026_PF_FP_ABST
Abstract
Description
A robot control method, device, equipment and medium
[0001] This application claims priority to Chinese Patent Application No. 202411474993.6, filed with the Chinese Patent Office on October 22, 2024, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of robotics, and in particular to a robot control method, apparatus, device, and medium. Background Technology
[0003] With the widespread use of robots in various application scenarios, the stability and safety of robot operation are of paramount importance. In robot control methods, such as time-optimal programming, which is mainly applied to offline solutions, the stability and safety of robot operation cannot be guaranteed during actual operation due to the potential for additional vibrations.
[0004] Summary of the Invention
[0005] This application 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.
[0006] In a first aspect, embodiments of this application provide a robot control method, including:
[0007] Determine the trajectory point set based on the initial and target points of the robot's end effector;
[0008] 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;
[0009] 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.
[0010] Secondly, embodiments of this application also provide a robot control device, the device comprising:
[0011] 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;
[0012] 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;
[0013] 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.
[0014] Thirdly, embodiments of this application also provide an electronic device, the electronic device comprising:
[0015] At least one processor; and
[0016] A memory communicatively connected to the at least one processor; wherein,
[0017] The memory stores a computer program that can be executed by the at least one processor, which is then executed by the at least one processor to enable the at least one processor to perform the robot control method described in the embodiments of this application.
[0018] Fourthly, embodiments of this application also provide a computer-readable storage medium storing computer instructions that are used to cause a processor to execute and implement the robot control method described in the embodiments of this application.
[0019] This application discloses a robot control method, apparatus, device, and medium, including: 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 related 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
[0020] Figure 1 is a flowchart of a robot control method according to Embodiment 1 of this application;
[0021] Figure 2 is a flowchart of a robot control method according to Embodiment 2 of this application;
[0022] Figure 3 is a schematic diagram of a robot control device according to Embodiment 3 of this application;
[0023] Figure 4 is a schematic diagram of the structure of an electronic device according to Embodiment 4 of this application. Detailed Implementation
[0024] The present application 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 application 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 application, not the entire structure.
[0025] Example 1
[0026] Figure 1 is a flowchart of a robot control method provided in Embodiment 1 of this application. 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:
[0027] S110. Determine the trajectory point set based on the initial point and target point of the robot's end effector.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] 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:
[0040] a1) Determine multiple predicted joint control information between the first trajectory point and the second trajectory point based on the first joint control information;
[0041] 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.
[0042] 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-set prediction method used to determine the predicted joint control information. For example, the preset prediction method can be a model predictive control (MPC) method.
[0043] 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), ..., based on the predicted joint control information y(k-1), predictive joint control information y(k) is determined by a preset prediction method.
[0044] 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.
[0045] 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.
[0046] 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.
[0047] 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.
[0048] 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.
[0049] 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.
[0050] 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.
[0051] Example 2
[0052] Figure 2 is a flowchart of a robot control method provided in Embodiment 2 of this application. Based on the above embodiments, the method includes the following steps:
[0053] S210. Determine the trajectory point set based on the initial point and target point of the robot's end effector.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] S240. Based on the current joint control information, obtain predicted joint control information through a preset prediction method.
[0058] The predicted joint control information includes predicted joint position, predicted joint velocity, and predicted joint acceleration.
[0059] 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:
[0060] a2) Obtain the first coefficient information, the second coefficient information, and the joint acceleration information;
[0061] 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.
[0062] 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.
[0063] Based on the above description, the MPC method typically uses the following discrete state-space expression:
[0064] Among them, u k For input, y k This is the output.
[0065] Furthermore, when the sampling time is T, the above discrete state-space expression can be transformed into the following form:
[0066] in, Let represent the joint jerk at time t, and
[0067] 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:
[0068] in,
[0069] 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 .
[0070] 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;
[0071] 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.
[0072] c2) Determine the predicted joint control information based on the cost function.
[0073] In this embodiment, one way to determine the predicted joint control information based on the cost function can be described as the following steps:
[0074] (1) Solve the cost function to obtain the jerk of multiple joints;
[0075] 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,
[0076] 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.
[0077] 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.
[0078] 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.
[0079] 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 .
[0080] 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.
[0081] 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.
[0082] (2) The joint accelerometer at the first sampling moment is taken as the target joint accelerometer;
[0083] For example, the joint accelerometer at the first sampling moment is u. (k|k) , will u (k|k) Boost the target joint with accelerator.
[0084] (3) Determine the predicted joint control information based on the target joint acceleration.
[0085] 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
[0086] S250: Control the movement of each joint to the predicted joint position based on the predicted joint velocity and predicted joint acceleration.
[0087] S260. Determine whether the predicted joint control information matches the second joint control information.
[0088] 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.
[0089] 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:
[0090] 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.
[0091] 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.
[0092] 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.
[0093] 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.
[0094] 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.
[0095] 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.
[0096] Example 3
[0097] Figure 3 is a schematic diagram of a robot control device provided in Embodiment 3 of this application. As shown in Figure 3, the device includes:
[0098] 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;
[0099] 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;
[0100] 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.
[0101] Optionally, the joint control module 330 can be specifically used for:
[0102] 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.
[0103] 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.
[0104] Optionally, the joint control module 330 may specifically include:
[0105] Information marking unit, used to record the first joint control information as the current joint control information;
[0106] 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;
[0107] 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.
[0108] An information judgment unit is used to determine whether the predicted joint control information matches the second joint control information;
[0109] 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.
[0110] Optionally, the predicted joint control information acquisition unit may specifically include:
[0111] 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;
[0112] 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;
[0113] A predictive joint control information determination subunit is used to determine the predicted joint control information based on the cost function.
[0114] Optionally, the predicted joint control information determining subunit can be specifically used for:
[0115] The cost function is solved to obtain the jerk of multiple joints;
[0116] The joint jerk at the first sampling moment is taken as the target joint jerk;
[0117] Predicted joint control information is determined based on the target joint jerk.
[0118] Optionally, the cost function is solved to obtain multiple joint jerkes, including:
[0119] Obtain the set constraints of the cost function; wherein, the set constraints include joint control information constraints and joint acceleration constraints;
[0120] The cost function is solved based on the set constraints to obtain multiple joint jerkes.
[0121] Optionally, the information judgment unit may be specifically used for:
[0122] 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.
[0123] 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.
[0124] The aforementioned apparatus can execute the methods provided in all the foregoing embodiments of this application, and possesses the corresponding functional modules and beneficial effects for executing the aforementioned methods. Technical details not described in detail in this embodiment can be found in the methods provided in all the foregoing embodiments of this application.
[0125] Example 4
[0126] Figure 4 illustrates a schematic diagram of the structure of an electronic device 10 that can be used to implement embodiments of this application. 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 application described and / or claimed herein.
[0127] As shown in Figure 4, 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 programs stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 can also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0128] 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.
[0129] 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.
[0130] 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).
[0131] 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.
[0132] Computer programs used to implement the methods of this application 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.
[0133] In the context of this application, 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 can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium can 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 fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing. The storage medium can be a non-transitory storage medium.
[0134] 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).
[0135] 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.
[0136] 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.
[0137] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this application can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this application can be achieved, and this is not limited herein.
[0138] The specific embodiments described above do not constitute a limitation on the scope of protection of this application. 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 application should be included within the scope of protection of this application.
Claims
1. A robot control method, comprising: Determine the trajectory point set based on the initial and target points of the robot's end effector; 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; 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.
2. The method according to claim 1, wherein, 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 includes: 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. 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.
3. The method according to claim 1, wherein, 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 includes: Record the first joint control information as the current joint control information; Based on the current joint control information, predicted joint control information is obtained through a preset prediction method; among which... The predicted joint control information includes predicted joint position, predicted joint velocity, and predicted joint acceleration; The movement of each joint to the predicted joint position is controlled based on the predicted joint velocity and the predicted joint acceleration. Determine 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 predictive control method is returned until the predicted joint control information matches the second joint control information.
4. The method according to claim 3, wherein, Based on the current joint control information, predicted joint control information is obtained through a preset prediction method, including: Obtain first coefficient information, second coefficient information, and joint accelerometer information; wherein, the joint accelerometer information includes joint accelerometer information at multiple sampling times, and the joint accelerometer information is information to be determined; A cost function is constructed based on the current joint control information, the first coefficient information, the second coefficient information, and the joint acceleration information; Predicted joint control information is determined based on the cost function.
5. The method according to claim 4, wherein, Determining the predicted joint control information based on the cost function includes: The cost function is solved to obtain the jerk of multiple joints; The joint jerk at the first sampling moment is taken as the target joint jerk; Predicted joint control information is determined based on the target joint jerk.
6. The method according to claim 5, wherein, Solving the cost function yields multiple joint accelerometers, including: Obtain the set constraints of the cost function; wherein, the set constraints include joint control information constraints and joint acceleration constraints; The cost function is solved based on the set constraints to obtain multiple joint jerkes.
7. The method according to claim 3, wherein, Determining whether the predicted joint control information matches the second joint control information includes: 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. 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.
8. A robot control device, comprising: The trajectory point set determination module is configured to determine the trajectory point set based on the initial point and target point of the robot's end effector; The information acquisition module is configured to acquire joint control information corresponding to each joint of the robot when the end effector is located 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; The joint control module is configured to 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 for each adjacent first trajectory point and second trajectory point in the trajectory point set, so that the end effector moves from the first trajectory point to the second trajectory point.
9. An electronic device, wherein, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the calculation The program is executed by the at least one processor to enable the at least one processor to perform the robot control method according to any one of claims 1-7.
10. A computer-readable storage medium, wherein, The computer-readable storage medium stores computer instructions that are used to cause a processor to execute the robot control method according to any one of claims 1-7.
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
Path planning method, robot and storage medium
CN111290406A
Mechanical arm motion control method and device and computer equipment
CN113276120A
Bias mechanical arm discrete point trajectory smooth planning method and system and storage medium
CN116810802A