Robot control method, device, equipment and medium
By determining the trajectory point set and joint control information of the robot end effector and controlling the robot joint movement, the robot vibration and stability problems in the prior art are solved, and higher control accuracy and safety are achieved.
Patent Information
- Application Number
- CN202411474993.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-22
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2044-10-22
AI Technical Summary
Existing robot control methods may cause additional vibrations of the robot during actual motion, and the stability and safety of the robot's operation cannot be guaranteed.
Determine the set of trajectory points based on the initial point and target point of the robot's end effector, and obtain joint control information at the trajectory point, including joint position, joint velocity and joint acceleration, control joint movement, and make the end effector from a trajectory point Move to another track point to ensure accurate movement.
Improve the accuracy and stability of robot control and ensure the safety of robot operation.
Smart Images

Figure CN119115955A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to the field of robot technology, and in particular, to a robot control method, device, equipment and medium. Background Art
[0002] With the widespread use of robots in various application scenarios, the stability and safety of robot operation are of vital importance. Among the existing robot control methods, such as the time optimal planning method, this planning method is mainly used in offline solution applications, which may cause additional vibration of the robot in actual movement and cannot guarantee the stability and safety of the robot operation. Summary of the invention
[0003] Embodiments of the present invention provide a robot control method, device, equipment and medium, which can improve the accuracy of robot control and ensure the stability and safety of robot operation.
[0004] In a first aspect, an embodiment of the present invention provides a robot control method, comprising:
[0005] Determine a trajectory point set based on an initial point and a target point of an end effector of the robot;
[0006] 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 a joint position, a joint velocity, and a 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] In a second aspect, an embodiment of the present invention further provides a robot control device, the device comprising:
[0009] A trajectory point set determination module, used to determine a trajectory point set based on an initial point and a target point of an end effector of the robot;
[0010] An information acquisition module, used to acquire joint control information corresponding to each joint of the robot when the end effector is at each track point in the track point set; wherein the joint control information includes at least one of a joint position, a joint velocity and a joint acceleration;
[0011] A 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 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.
[0012] In a third aspect, an embodiment of the present invention further provides 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, and the computer program is executed by the at least one processor so that the at least one processor can execute the robot control method described in the embodiment of the present invention.
[0016] In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the robot control method described in the embodiment of the present invention when executed.
[0017] The embodiments of the present invention disclose a robot control method, device, equipment and medium, including: determining a trajectory point set based on an initial point and a target point of an end effector of the 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 includes at least one of a joint position, a joint velocity and a joint acceleration; for each adjacent first trajectory point and a 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 end effector of the robot to continuously move along a specific trajectory, thereby determining a trajectory point set according to the initial point and target point of the end effector of the robot, and obtaining 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; at the same time, 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, and the movement of each joint of the robot can be accurately controlled. Compared with the prior art, 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. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Figure 1 is a flow chart of a robot control method in Embodiment 1 of the present invention;
[0019] Figure 2 is a flow chart of a robot control method in Embodiment 2 of the present invention;
[0020] Figure 3 is a schematic structural diagram of a robot control device in Embodiment 3 of the present invention;
[0021] Figure 4 It is a structural schematic diagram of an electronic device in Embodiment 4 of the present invention. DETAILED DESCRIPTION
[0022] The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the present invention, rather than to limit the present invention. It should also be noted that, for ease of description, only parts related to the present invention, rather than all structures, are shown in the accompanying drawings.
[0023] Embodiment 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 the case of controlling a robot. The method can be executed by a robot control device, which can be implemented in the form of software and / or hardware. Optionally, it can be implemented by an electronic device, which can be a mobile terminal, a PC or a server, etc. Specifically, it includes the following steps:
[0025] S110 , determining a trajectory point set based on an initial point and a target point of an end effector of the robot.
[0026] In this embodiment, the end effector can be understood as a device connected to the end of the robot's operating arm. There are various types of end effectors, such as a gripper, a suction cup, and a welding gun. Specifically, the selection of the end effector is determined by the robot's execution task. For example, if the robot's execution task is to grasp an object, the gripper is selected as the end effector.
[0027] In this embodiment, when the robot performs a task, it is first necessary to determine the motion trajectory points of the robot. The object targeted by this embodiment is the end effector of the robot, and the motion trajectory points of the end effector are considered. The initial point can be understood as the current position of the end effector, and the target point can be understood as the position that the end effector will eventually reach. The trajectory point set can be understood as the set of trajectory points that the end effector passes through from the initial point to the target point.
[0028] In this embodiment, for determining a trajectory point set based on the initial point and the target point of the end effector of the robot, one implementation method can be described as: determining at least one intermediate point based on the initial point and the target point of the end effector; taking 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 that the initial point is recorded as A1 and the target point is recorded as A n , at least one intermediate point is: A2, A3, ..., A n-1 , then the trajectory point set is {A1, A2, A3, ..., A n-1 , A n}, containing a total of n trajectory points.
[0029] S120, 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.
[0030] In this embodiment, the joints are connected in sequence through connecting rods to form a robot manipulator, wherein the movement of each joint guides the movement of the end effector. The joint control information can be understood as key information for controlling the movement of the joints. Specifically, the joint control information can include at least one of the joint position, joint velocity, and joint acceleration. The joint position can be understood as the joint angle.
[0031] In this embodiment, the joint control information is pre-stored in a setting information table, and the setting information table 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 that there are m joints in total, the joint control information corresponding to the m joints when the end effector is at the trajectory point A1, the joint control information corresponding to the m joints when the end effector is at the trajectory point A2, ..., the joint control information corresponding to the m joints when the end effector is at the trajectory point A n At this time, the joint control information corresponding to the 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 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.
[0034] In this embodiment, the first trajectory point and the second trajectory point can be understood as a pair of two adjacent trajectory points in the trajectory point set, and the first trajectory point precedes the second trajectory point. Exemplarily, in the trajectory point set, trajectory points A1 and A2 are a pair of two 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 two 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 the track points A1 and A2 in the track point set as an example, the movement of each joint is controlled according to the first joint control information corresponding to each joint at the track point A1 and the second joint control information corresponding to each joint at the track point A2, so that the end effector moves from the track point A1 to the track point A2. Similarly, for other adjacent first track points and second track points in the track point set, the steps are similar to the above steps.
[0037] In this embodiment, for 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, one implementation method can be described as the following steps:
[0038] a1) determining a plurality of 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] Further, the previous predicted joint control information can be understood as the previous predicted joint control information of a certain predicted joint control information. The preset prediction method is a pre-set prediction method for determining the predicted joint control information. Exemplarily, the preset prediction method can be a model predictive control method (MPC).
[0041] Exemplarily, assuming that there are k predicted joint control information, respectively denoted as y(1), y(2), ..., y(k), then 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: based on the first joint control information, determine the predicted joint control information y(1) by a preset prediction method; based on the predicted joint control information y(1), determine the predicted joint control information y(2) by a preset prediction method; ..., based on the predicted joint control information y(k-1), determine the predicted joint control information y(k) by a preset prediction method.
[0042] b1) Controlling the movement of each joint based on the first joint control information, the plurality of 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 first joint position, the first joint velocity and the first joint acceleration; each predicted joint control information may include: at least one of the predicted joint position, the predicted joint velocity and the predicted joint acceleration; the second joint control information may include: at least one of the second joint position, the second joint velocity and the second joint acceleration.
[0044] Exemplarily, assuming that 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: 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, for 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, another implementation method can be described as: taking the first joint control information as the current joint control information, and obtaining the predicted joint control information through a preset prediction method based on the current joint control information; controlling the movement of each joint according to the predicted joint control information; if the predicted joint control information is inconsistent with the second joint control information, taking the predicted joint control information as the current joint control information, and returning to execute the operation of obtaining the predicted joint control information through a preset prediction method based on the current joint control information, until the predicted joint control information is consistent with the second joint control information.
[0046] In this embodiment, the predicted joint control information is inconsistent with the second joint control information, indicating that each joint has not yet moved to the second joint position, that is, the end effector has not reached the second trajectory point. The predicted joint control information is consistent with the second joint control information, indicating that each joint has moved to the second joint position, that is, the end effector has reached the second trajectory point.
[0047] In this embodiment, whether the predicted joint control information is consistent with the second joint control information may be determined according to the difference between the predicted joint control information and the second joint control information.
[0048] The technical solution of this embodiment determines a trajectory point set based on the initial point and target point of the end effector of the robot; obtains 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; 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. The above technical solution specifically considers controlling the end effector of the robot to move continuously according to a specific trajectory, thereby determining a trajectory point set according to the initial point and target point of the end effector of the robot, and obtaining 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; at the same time, 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, and can accurately control 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 the robot operation.
[0049] Embodiment 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 embodiment, the method includes the following steps:
[0051] S210 , determining a trajectory point set based on an initial point and a target point of an end effector of the robot.
[0052] S220, 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.
[0053] S230 . For each adjacent first track point and second track point in the track point set, record the first joint control information as current joint control information.
[0054] In this embodiment, the first joint control information may be understood as 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 positions, predicted joint velocities and predicted joint accelerations.
[0057] In this embodiment, based on the current joint control information, the predicted joint control information is obtained by a preset prediction method, wherein one implementation manner can be described as the following steps:
[0058] a2) obtaining first coefficient information, second coefficient information and joint jerk information;
[0059] In this embodiment, the preset prediction method may be MPC, and before the MPC method is used 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 jerks at multiple sampling moments, and the joint jerk information is the information to be requested.
[0060] For example, the current joint control information is recorded as x k , which includes the current joint position q, the current joint velocity and the current joint acceleration Among them, the current joint position q is in vector form, which is composed of the joint positions of each joint; the current joint velocity In vector form, it consists of the joint velocities of each joint; the current joint acceleration In vector form, it consists of the joint accelerations of each joint.
[0061] Continuing from the above description, the MPC method usually adopts the following discrete state space expression:
[0062]
[0063] Among them, u k is the input, y k is the output.
[0064] Furthermore, when the sampling time is T, the above discrete state space expression can be converted into the following form:
[0065]
[0066] in, represents the joint acceleration at time t, and
[0067]
[0068] Then, set the prediction step size of the MPC method to N and the total prediction time to T all =N*T, T can be obtained iteratively all The joint control information X at all sampling moments in time k , as shown below:
[0069]
[0070] Further, 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) constructing a cost function based on the current joint control information, the first coefficient information, the second coefficient information and the joint jerk information;
[0072] Exemplarily, 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 represents the preset error weight, R represents the preset input weight, is a diagonal matrix consisting of R.
[0073] c2) Determine the predicted joint control information based on the cost function.
[0074] In this embodiment, one implementation method of determining 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 multiple joint jerks;
[0076] In this embodiment, solving the cost function can be understood as solving the minimum value of the cost function. Since the cost function S can be regarded as U k The related quadratic function can therefore transform the solution of the minimum cost function into the solution of U k A quadratic programming problem. Written in quadratic programming form: Where L = H,
[0077] Furthermore, one implementation method of solving the cost function to obtain multiple joint jerks can be described as: obtaining set constraints of the cost function; solving the cost function based on the set constraints to obtain multiple joint jerks.
[0078] Optionally, the cost function is solved based on the set constraints to obtain multiple joint jerks by: based on the set constraints, a preset solver is used to solve the cost function to obtain multiple joint jerks. The preset solver may be a quadprog function in a matlab interface.
[0079] For example, we will set constraints and quadratic programming form L and P in T Input into the preset solver, and the optimal solution can be output Among them, the joint acceleration information U k Includes joint acceleration at multiple sampling moments.
[0080] Furthermore, the constraints set 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] Continuing with the above description, in addition to the joint control information constraints and the joint acceleration constraints, the set constraints also include other constraints, such as: joint output torque constraints, whole machine power constraints, end effector speed constraints and output constraints, etc.
[0082] For example, the output constraint is min <(y k =Cx k )<y max The velocity V of the end effector and the velocity of each joint The relationship between: Then the velocity constraint of the end effector is Where J is the Jacobian matrix. The velocity of each joint The relationship between and joint torque τ: The joint output torque constraint is Among them, M(q) is the inertia term, is the Coriolis force and centrifugal force term, and G(q) is the gravity term. Similarly, for the power constraint of the whole machine, it can be converted into x in the same way as above. k 、u k constraints.
[0083] (2) The joint jerk at the first sampling moment is taken as the target joint jerk;
[0084] For example, the joint acceleration at the first sampling moment is u (k|k) , will u (k|k) as the target joint jerk.
[0085] (3) Determine the predicted joint control information based on the target joint acceleration.
[0086] For example, the target joint acceleration u (k|k) Substituting into the formula: x k+1 =Ax k +Bu k In the above example, we obtain the predicted joint control information x k+1 Among them, the predicted joint control information x k+1 Including the predicted joint position q( t+T ), predict joint velocity and predicted joint acceleration
[0087] S250 , controlling each joint to move to the predicted joint position according to the predicted joint velocity and the 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 joint control information corresponding to each joint when the end effector is at the second trajectory point.
[0090] In this embodiment, one implementation of determining 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 a set range, the predicted joint control information matches the second joint control information;
[0092] In this embodiment, the set range is a preset range. The predicted joint control information matches the second joint control information, indicating 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, the predicted joint control information does not match the second joint control information.
[0094] In this embodiment, the predicted joint control information does not match the second joint control information, indicating that each joint has 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 through a preset prediction control method based on the current joint control information is returned to be executed until the predicted joint control information matches the second joint control information.
[0096] The technical solution of this embodiment is to determine a trajectory point set based on the initial point and target point of the end effector of the robot; 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; 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; based on the current joint control information, obtain the predicted joint control information through a preset prediction method; control each joint to move to the predicted joint position according to 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, 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 through a preset prediction control method based on the current joint control information until the predicted joint control information matches the second joint control information. The above technical solution can accurately obtain the predicted joint control information through a preset prediction method according to the current joint control information; at the same time, each joint is controlled to move to the predicted joint position according to the predicted joint speed and the predicted joint acceleration, and each joint of the robot can be accurately controlled to move to the predicted joint position; by judging whether the predicted joint control information matches the second joint control information, it can be accurately determined whether the end effector reaches the second trajectory point. The technical solution provided in this embodiment can accurately obtain the predicted joint control information, and accurately control each joint of the robot to move to the predicted joint position, and can accurately determine whether the end effector reaches the second trajectory point, thereby improving the accuracy of robot control and ensuring the stability and safety of robot operation.
[0097] Embodiment 3
[0098] Figure 3 A schematic diagram of the structure of a robot control device provided in Embodiment 3 of the present invention is shown in FIG. Figure 3 As shown, the device comprises:
[0099] A trajectory point set determination module 310, for determining a trajectory point set based on an initial point and a target point of an end effector of the robot;
[0100] An information acquisition module 320, used to acquire joint control information corresponding to each joint of the robot when the end effector is at each track point in the track point set; wherein the joint control information includes at least one of a joint position, a joint velocity and a 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 may be specifically used for:
[0103] Determine a plurality of predicted joint control information between the first track point and the second track point based on the first joint control information; wherein each predicted joint control information is determined by a preset prediction method based on the last predicted joint control information or the first joint control information;
[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] an information marking unit, used for recording the first joint control information as current joint control information;
[0107] A predicted joint control information obtaining unit, used to obtain predicted joint control information by a preset prediction method based on current joint control information; wherein the predicted joint control information includes predicted joint position, predicted joint velocity and predicted joint acceleration;
[0108] A joint motion unit, used for controlling each joint to move to the predicted joint position according to the predicted joint velocity and the predicted joint acceleration;
[0109] an information judging unit, used for judging whether the predicted joint control information matches the second joint control information;
[0110] A return execution unit is used to record the predicted joint control information as the current joint control information if the predicted joint control information does not match the second joint control information, and return to execute the operation of obtaining the predicted joint control information through a preset prediction control method based on the current joint control information until the predicted joint control information matches the second joint control information.
[0111] Optionally, the predicted joint control information obtaining unit may specifically include:
[0112] An information acquisition subunit, used to acquire first coefficient information, second coefficient information and joint jerk information; wherein the joint jerk information includes joint jerk at multiple sampling moments, and the joint jerk information is the information to be requested;
[0113] A cost function construction subunit, 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;
[0114] The predicted 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 determination subunit may be specifically used for:
[0116] Solving the cost function to obtain multiple joint jerks;
[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, solving the cost function to obtain multiple joint jerks includes:
[0120] Acquire set constraints of the cost function; wherein the set constraints include joint control information constraints and joint jerk constraints;
[0121] The cost function is solved based on the set constraint conditions to obtain multiple joint jerks.
[0122] Optionally, the information determination unit may be specifically used to:
[0123] 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;
[0124] If the difference between the predicted joint control information and the second joint control information is not within a set range, the predicted joint control information does not match the second joint control information.
[0125] The above device can execute the methods provided by all the above embodiments of the present invention, and has the corresponding functional modules and beneficial effects of executing the above methods. For technical details not described in detail in this embodiment, please refer to the methods provided by all the above embodiments of the present invention.
[0126] Embodiment 4
[0127] Figure 4 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment 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 processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.
[0128] like Figure 4 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0129] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0130] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as a robot control method.
[0131] In some embodiments, the robot control method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the robot control method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to execute the robot control method in any other appropriate manner (e.g., by means of firmware).
[0132] Various implementations 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 chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0133] Computer programs for implementing 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, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0134] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0135] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0136] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0137] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.
[0138] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.
[0139] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A robot control method, characterized in that: include: Determine a trajectory point set based on an initial point and a target point of an end effector of the robot; 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 a joint position, a joint velocity, and a 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, characterized in that Controlling the 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 includes: Determine a plurality of predicted joint control information between the first track point and the second track point based on the first joint control information; wherein each predicted joint control information is determined by a preset prediction method based on the last predicted joint control information or the first joint control information; 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, characterized in that Controlling the 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 includes: Recording the first joint control information as current joint control information; Based on the current joint control information, the predicted joint control information is obtained by a preset prediction method; wherein the predicted joint control information includes a predicted joint position, a predicted joint velocity and a predicted joint acceleration; Controlling each joint to move to the predicted joint position according to the predicted joint velocity and the predicted joint acceleration; determining 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 through a preset prediction control method based on the current joint control information is returned to be executed until the predicted joint control information matches the second joint control information.
4. The method according to claim 3, characterized in that: Based on the current joint control information, the predicted joint control information is obtained by a preset prediction method, including: Acquire first coefficient information, second coefficient information and joint jerk information; wherein the joint jerk information includes joint jerk at multiple sampling moments, and the joint jerk information is the information to be requested; Constructing a cost function based on the current joint control information, the first coefficient information, the second coefficient information and the joint jerk information; Predicted joint control information is determined based on the cost function.
5. The method according to claim 4, characterized in that Determining predicted joint control information based on the cost function includes: Solving the cost function to obtain multiple joint jerks; 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, characterized in that The cost function is solved to obtain multiple joint jerks, including: Acquire set constraints of the cost function; wherein the set constraints include joint control information constraints and joint jerk constraints; The cost function is solved based on the set constraint conditions to obtain multiple joint jerks.
7. The method according to claim 3, characterized in that 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, 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 a set range, the predicted joint control information does not match the second joint control information.
8. A robot control device, characterized in that: include: A trajectory point set determination module, used to determine a trajectory point set based on an initial point and a target point of an end effector of the robot; An information acquisition module, used to acquire joint control information corresponding to each joint of the robot when the end effector is at each track point in the track point set; wherein the joint control information includes at least one of a joint position, a joint velocity and a joint acceleration; A 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 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.
9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; 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 so that the at least one processor can perform the robot control method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the robot control method according to any one of claims 1 to 7 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
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
