Six-axis industrial robot programming method for preventing joint overspeed through kinematics optimization
Through kinematic optimization, the joint space movement trajectory of the six-axis industrial robot is adjusted to avoid the singular point area and shorten the joint space movement distance, which solves the problem that the robot's joint speed exceeds the allowable upper limit near the singular point, and achieves safe and reliable operation and stable end tool movement speed.
Patent Information
- Application Number
- CN202510187903.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-20
- Publication Date
- 2025-06-13
AI Technical Summary
When a six-axis industrial robot moves through the area near the singular point, it is easy to cause a sharp increase in joint speed, exceeding the allowable speed limit, and even causing safety accidents. It is difficult for the prior art to ensure the moving linear speed of the end tool.
Through kinematic optimization, greed or heuristic strategies are used to adjust the rotation angle of the robot's end about the tool axis, optimize the joint space movement trajectory, avoid singular points areas, and shorten the joint space movement distance.
It realizes that the robot can complete its operations safely and reliably in complex motion trajectories, avoid joint speeding, reduce the risk of downtime and safety accidents, and ensure the stable movement speed of the end tool.
Smart Images

Figure CN120143726A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of intelligent manufacturing technology, and particularly relates to a programming method for a six-axis industrial robot that uses kinematic optimization to prevent joint overspeed. Background Art
[0002] Due to the kinematic singularities in the structural principle of six-axis industrial robots, when the robot moves through the area near the singularities, the joint speed surges, and it is extremely easy to exceed the upper limit of the joint movement speed (such as wrist singularities) or cause large-scale movement of the joint arm (such as arm singularities), resulting in the robot stopping and even causing safety accidents.
[0003] Since many tasks allow the end of the robot to freely rotate around the tool axis, such as welding, painting, and hole-making tasks, six-axis industrial robots usually have a redundant degree of freedom. By using this redundant degree of freedom, the robot posture can be adjusted during programming to avoid singularities. In addition, the robot can also be deliberately decelerated in the robot program or controller to safely pass through the singularities.
[0004] However, in some applications, the robot needs to move the end tool at a constant speed along a complex trajectory, such as surface treatment of some complex parts. In such tasks, the robot needs to maintain the constant movement of the end tool, so it cannot pass through the singularities by decelerating. The method of using the redundant degree of freedom to avoid singularities can only check whether the robot is close to the singularities through discrete points on the trajectory and adjust its posture. Although this method can avoid the singularities on the trajectory, it may cause the two adjacent discrete points to be too far apart in the robot joint space. When the robot moves from the previous point to the next point at a given speed in the Cartesian space, the joint speed may still exceed the allowable upper limit - at this time, the robot may have a safety accident, or it may not be able to move the tool at the set speed, resulting in poor operation quality or product damage.
[0005] In the prior art, an application such as the Chinese utility model patent "A Singularity Region Deceleration Protection System and an Industrial Robot" with the patent number 201620076120.4 discloses a method for preventing joint overspeed. It first predicts the robot joint speed and then actively decelerates in the singularity transition region to avoid the joint exceeding the allowable speed. The disadvantage of this method is that it cannot guarantee the linear speed of the end tool. When the robot needs to complete special tasks that require strict control of the tool movement speed, this method may not be applicable.
[0006] For another example, the Chinese invention patent "Displacement Device, Robot and Robot Singularity Processing Method" with the patent number 201510992864.0 discloses a robot system with a special displacement device installed in front of the end effector. When the robot approaches the singularity area, the displacement device helps the robot compensate for the movement amount at the end, enabling the robot to get out of the singularity area and preventing the robot joints from speeding up due to the singular configuration. The disadvantage of this method is that the displacement device needs to be linked with each joint of the robot to work properly, which makes the motion control of the robot complex. Moreover, it is necessary to transform the hardware structure and control system of the existing robot, resulting in a high cost. When the controller of the robot manufacturer is not open, this method is difficult to apply. Summary of the Invention
[0007] The present application aims to solve the above problems existing in the prior art, and proposes a programming method for a six-axis industrial robot that uses kinematic optimization to prevent joint overspeed. It can simultaneously achieve singularity avoidance and joint speed optimization, enabling the robot to complete the operation task safely and reliably.
[0008] To achieve the above object, the technical solution of the present invention is as follows:
[0009] A programming method for a six-axis industrial robot that uses kinematic optimization to prevent joint overspeed, including the following steps:
[0010] Step S1. Input the trajectory;
[0011] Step S2. Interpolate between the trajectory control points to obtain a discrete point sequence;
[0012] Step S3. Initialize the end working posture and calculate the inverse solution of the robot to obtain the joint space motion trajectory;
[0013] Step S4. Define the calculation method of the manipulability, the singularity area threshold, and the joint space movement distance;
[0014] Step S5. Select an optimization strategy. If the optimization strategy is the greedy strategy, execute Step S6; if the optimization strategy is the heuristic strategy, execute Step S7;
[0015] Step S6. Implement through the greedy strategy;
[0016] Step S7. Implement through the heuristic strategy;
[0017] Step S8. Generate the rotation angle of the end around the tool axis and the robot joint space trajectory;
[0018] Step S9. Output the robot program.
[0019] Further, in Step S1, save the motion trajectory of the end tool as P = [p 1, p 2 , …, p n ] in the form, where p i (i = 1, 2, …, n) are the control points on the trajectory, and there is p i = [X i , Y i , Z i , I i , J i , K i ], where X i , Y i , Z i are the spatial position coordinates of the tool center point, and I i , J i , K i are the spatial vectors of the tool axis;
[0020] Further, in step S2, set the maximum step size s for trajectory discretization. Uniformly interpolate new points between adjacent trajectory control points p i , p i+1 (i = 1, 2, …, n - 1) such that the distance between any two adjacent points from p i to p i+1 is ≤ s. Save the sequence of the original control points and the newly interpolated points, and denote it as the discrete point sequence Q = [q 1 , q 2 , …, q m ], where q 1 corresponds to the original trajectory start point p 1 , q m corresponds to the original trajectory end point p n , and m ≥ n.
[0021] Still further, when the spatial distance or the included angle of the spatial vectors between adjacent points is greater than the maximum value defined by s, it is considered that the distance between the two points > s.
[0022] Further, in step S3, for each point q i (i = 1, 2, …, m) in Q, first give the initial spatial attitude R i of the end at this point with the desired working attitude of the robot end, making the end tool axis along the [I i , J i , K i ] vector direction; combined with R i , calculate the inverse kinematic solution of the robot at q i to obtain the robot attitude θ i described by the 1 - 6 joint angles. Traverse from q 1 to q m to obtain the motion trajectory C = [θ 1, θ 2 , …, θ m .
[0023] Furthermore, in step S4, according to the definition of the manipulability index ω of the six-axis industrial robot, a threshold h for the robot singularity region is set;
[0024] ω is defined as where J(θ) is the Jacobian matrix of the six-axis industrial robot, and det is the function for calculating the determinant of the matrix; the robot approaches the singularity when the value of ω(θ) is close to 0, then the threshold h is the lower limit of the manipulability, and it is considered that when the manipulability ω(θ) of the robot at the posture θ < h, the robot enters the singularity region.
[0025] Still further, when the robot moves from the previous point q i to the next point q i+1 , the moving distance in the joint space is expressed as ||θ i+1 - θ i ||; for ||θ i+1 - θ i ||, it is defined as: the maximum rotation angle in joints 4 to 6;
[0026] The variable for kinematic optimization is the angle d i by which the end of the robot rotates around the tool axis at the point q i (i = 1, 2, …, m). When d i = 0, the end is in the initial posture R i . When d i is adjusted in step size △d, R i and θ i change accordingly, thereby changing the singularity state of the robot at the point q i and the moving distance in the joint space to q i+1 ;
[0027] The constraints for kinematic optimization are: The robot is not in the singularity region at any point on the trajectory;
[0028] The goal of kinematic optimization is: Shorten the joint space distance between adjacent points on the trajectory, reduce the maximum joint speed when the robot moves along the trajectory, and reduce the risk of joint overspeed.
[0029] Furthermore, the specific steps of step 6, step S8, and step S9 are: for the first point q 1 in Q, calculate the manipulability ω 1 corresponding to the robot posture θ 1 ;
[0030] If ω1 If h, then rotate the end - effector of the robot by an angle Δd around the tool axis and update R 1 , and recompute the robot pose θ 1 and ω 1 , until the result of ω 1 ≥h is found;
[0031] For the subsequent points q in Q starting from the second point i (i = 2, 3, …, m), let the end - effector of the robot traverse the feasible rotation angles, find all poses that make the robot satisfy ω i ≥h, and save them in the set Θ i ={θ i1 , θ i2 , …, θ ik};
[0032] For each pose θ i in Θ ij (j = 1, 2, …, k), calculate its joint - space distance ||θ i-1 - θ i-1 || with θ ij , and select the pose with the minimum joint - space distance from θ i-1 as the pose θ i of the robot at the point q i ;
[0033] Repeat the above process until the pose of the robot is determined for the last point in Q;
[0034] Save the end - effector poses corresponding to the robot poses from θ 1 to θ m to form a robot program and output it.
[0035] Furthermore, steps S7 - S9 are specifically as follows:
[0036] For each point q in Q i , let the end - effector of the robot traverse the feasible rotation angles, find all poses that make the robot satisfy ω i ≥h, and save them in the set Θ i ={θ i1 , θ i2 , …, θ ik};
[0037] For all m points from q 1 to q m , select a robot pose from each of the sets Θ 1 to Θ m to form a solution C = [θ 1x , θ2y , …, θ mz ;
[0038] Calculate the joint space distance between each adjacent robot pose in C, and evaluate the performance of C using the maximum value among them. The smaller the maximum value, the better the performance of C;
[0039] Iterate C using a heuristic algorithm to find a result with a smaller robot joint space distance between adjacent points;
[0040] Save the end - effector poses corresponding to the robot poses in C to form a robot program and output it.
[0041] The advantages of this application are as follows:
[0042] 1. While using the redundant degrees of freedom of the robot for singularity avoidance optimization, this invention checks the corresponding moving distances in the joint space when the robot passes through each point on the path. By shortening the moving distances in the joint space, it avoids the situation where a small movement of the robot's end - effector in the workspace (Cartesian space) causes a large movement in the joint space, reducing the risk of joint overspeed, shutdown, and safety accidents.
[0043] 2. This invention is particularly suitable for scenarios where the robot needs to execute complex motion trajectories and has strict requirements for the moving speed of the end - effector, such as the surface treatment of complex parts, which requires the tool to move along the part surface at a given speed. The robot program must avoid exceeding the upper limit of the joint rotation speed. If the robot is forced to decelerate, it will affect the part quality; if it overspeed, it may lead to out - of - control and damage to the robot and parts. The method of this invention can not only prevent joint overspeed caused by the robot entering the singularity region but also prevent joint overspeed caused by the robot's large movement in the joint space.
[0044] 3. In the task where the robot needs to move the end - effector along a complex trajectory, taking the points obtained by discretizing the trajectory as the object, this invention simultaneously considers the avoidance of the robot's singularity region and the shortening of the moving distance in the joint space. Thus, it not only ensures that the robot does not experience joint overspeed when passing through the singularity region but also ensures that the robot does not overspeed due to the excessive joint space distance between adjacent discrete points. In particular, it can avoid the situation where the joint space distance between adjacent points becomes too large when performing singularity avoidance adjustment of the robot pose.
[0045] 4. The present invention can simultaneously achieve singularity avoidance and joint velocity optimization, enabling the robot to complete the operation task safely and reliably. First, the complex trajectory is discretized into discrete points not exceeding a given step size, and the singularity region is defined according to the manipulability index. Secondly, the robot posture at the first point is optimized to achieve the purpose of singularity avoidance. Thirdly, starting from the second point, a robot posture that avoids singularities and is relatively close to the previous point in the joint space is simultaneously searched for, so that the robot can stay away from singularities without significantly rotating the joints. Finally, the optimized results at the discrete points are output as a robot program. Description of the Drawings
[0046] Figure 1 is a schematic diagram of the process of the present invention.
[0047] Figure 2 is a schematic diagram of the optimization process of the present invention using the greedy strategy.
[0048] Figure 3 is a schematic diagram of the optimization process of the present invention using the heuristic algorithm.
[0049] Figure 4 is a diagram of the trajectory of the center point of the robot's end effector and the discrete points generated therefrom.
[0050] Figure 5 is a schematic diagram of the change in manipulability of the robot on the trajectory (optimized by the greedy strategy).
[0051] Figure 6 is a schematic diagram of the maximum change rate of the moving distance of the robot's joints 4-6 relative to the center point of the end effector (optimized by the greedy strategy).
[0052] Figure 7 is a schematic diagram of the change in manipulability of the robot on the trajectory (without optimization).
[0053] Figure 8 is a schematic diagram of the maximum change rate of the moving distance of the robot's joints 4-6 relative to the center point of the end effector (without optimization). Detailed Embodiments
[0054] To make the objectives, technical solutions, and advantages of the embodiments of the invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are some, but not all, of the embodiments of the present invention. Usually, the components of the embodiments of the present invention described and illustrated herein can be arranged and designed in various different configurations.
[0055] Accordingly, the following detailed description of the embodiments of the present invention provided in the drawings is not intended to limit the scope of the claimed invention, but merely represents selected embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts fall within the scope of protection of the present invention.
[0056] It should be noted that like reference numerals and letters denote like items in the following figures, and thus, once an item is defined in one figure, it does not require further definition and explanation in subsequent figures.
[0057] In the description of the present invention, it should be noted that the orientation or positional relationship indicated by the terms "upper", "vertical", "inner", "outer", etc. is based on the orientation or positional relationship shown in the drawings, or the orientation or positional relationship in which the product of the invention is usually placed during use, or the orientation or positional relationship commonly understood by those skilled in the art. It is only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and thus should not be construed as a limitation of the present invention. In addition, the terms "first", "second", etc. are only used for descriptive distinction and should not be construed as indicating or implying relative importance.
[0058] The aircraft surface feature segmentation method based on contour constraint optimization of the present invention completes the segmentation task of the target in the image based on a deep learning network. The feature extraction backbone network is used to learn the feature information in the image, and then based on this feature information, the outer contour constraint of the target is fitted, and the target to be segmented in the image is initially segmented. Finally, the target contour constraint is used to optimize the segmentation result to achieve high-precision segmentation of each target instance in the image.
[0059] Embodiment 1
[0060] As Figure 1 shown, a six-axis industrial robot programming method for preventing joint overspeed by kinematic optimization includes the following steps:
[0061] Step S1. Input the trajectory; in the present application, the application object is a six-axis industrial robot, and the nature of the robot's work task allows the end to rotate around the tool axis;
[0062] Step S2. Interpolate between the trajectory control points to obtain a discrete point sequence;
[0063] Step S3. Initialize the end working posture and calculate the inverse kinematics of the robot to obtain the joint space motion trajectory;
[0064] Step S4. Define the calculation method of the manipulability, the singularity region threshold, and the joint space movement distance;
[0065] Step S5. Select an optimization strategy. If the optimization strategy is the greedy strategy, then execute Step S6; if the optimization strategy is the heuristic strategy, then execute Step S7;
[0066] Step S6. Implement it through the greedy strategy;
[0067] Step S7. Implement it through the heuristic strategy;
[0068] Step S8. Generate the rotation angle of the end effector around the tool axis and the robot joint space trajectory;
[0069] Step S9. Output the robot program.
[0070] Embodiment 2
[0071] As Figure 1 shown, a six-axis industrial robot programming method for preventing joint overspeed by using kinematic optimization includes the following steps:
[0072] Step S1. Input the trajectory; in the present invention application, the application object is a six-axis industrial robot, and the nature of the robot's work task allows the end effector to rotate around the tool axis;
[0073] Step S2. Interpolate between the trajectory control points to obtain a discrete point position sequence;
[0074] Step S3. Initialize the end effector working posture and calculate the robot inverse kinematics to obtain the joint space motion trajectory;
[0075] Step S4. Define the calculation method of the manipulability, the singularity region threshold, and the joint space movement distance;
[0076] Step S5. Select an optimization strategy. If the optimization strategy is the greedy strategy, then execute Step S6; if the optimization strategy is the heuristic strategy, then execute Step S7;
[0077] Step S6. Implement it through the greedy strategy;
[0078] Step S7. Implement it through the heuristic strategy;
[0079] Step S8. Generate the rotation angle of the end effector around the tool axis and the robot joint space trajectory;
[0080] Step S9. Output the robot program.
[0081] In Step S1, save the motion trajectory of the end effector in the form of P = [p 1 , p 2 , …, p n , where p i (i = 1, 2, …, n) are the control points on the trajectory (including the start and end points of the straight line and arc, and the control points of the spline curve), and there is p i= [X i , Y i , Z i , I i , J i , K i , where X i , Y i , Z i are the spatial position coordinates of the tool center point, and I i , J i , K i are the spatial vectors of the tool axis;
[0082] In step S2, set the maximum step size s for trajectory discretization. Uniformly interpolate new points between adjacent trajectory control points p i , p i+1 (i = 1, 2,..., n - 1), so that the distance between any two adjacent points from p i to p i+1 is ≤ s. Save the sequence of the original control points and the newly interpolated points, and denote it as the discrete point sequence Q = [q 1 , q 2 , …, q m , where q 1 corresponds to the original trajectory starting point p 1 , q m corresponds to the original trajectory ending point p n , and m ≥ n.
[0083] For the step size s, a feasible definition method is the maximum distance in the Cartesian space and the maximum angle of the spatial vector. That is, when the spatial distance or the angle of the spatial vector between adjacent points is greater than the maximum value defined by s, the distance between the two points is considered > s.
[0084] In step S3, for each point q i (i = 1, 2,..., m) in Q, first give the initial spatial attitude R i of the end at this point with the desired working attitude of the robot end, so that the end tool axis is along the [I i , J i , K i vector direction; combined with R i , calculate the inverse kinematic solution of the robot at q i , and obtain the robot attitude θ i described by the 1 - 6 joint angles. Traverse from q 1 to q m , and obtain the motion trajectory C = [θ 1 , θ 2 , …, θ m of the robot in the joint space.
[0085] In step S4, according to the definition of the operability index ω of the six-axis industrial robot, a threshold h of the robot singularity region is set;
[0086] A common definition of ω is Where J(θ) is the Jacobian matrix of the six-axis industrial robot, and det is the function for calculating the determinant of the matrix. When this definition is used, the robot approaches a singular point when the value of ω(θ) is close to 0, then the threshold h is the lower limit of the maneuverability, and it is considered that when the robot's maneuverability ω(θ) in posture θ is <h时,机器人进入奇异点区域。
[0087] Furthermore, in the present invention, the robot moves from the previous point q i Move to the next point q i+1 When , its moving distance in the joint space is expressed as ||θ i+1 -θ i ||; for ||θ i+1 -θ i ||, a feasible definition is: the maximum rotation angle among 4 to 6 joints;
[0088] The variable for kinematic optimization is the robot end at point q i (i=1,2,…,m) is the angle d of rotation around the tool axis i , when d i = 0 when the end is in the initial posture R i , when d i Adjust with step size △d, R i With θ i Change accordingly, and then change the robot's position q i The singular state on and to q i+1 The distance of movement in joint space;
[0089] In the present invention, the constraints for kinematic optimization are: That is, the robot is not in the singularity region at any point in the trajectory;
[0090] In the present invention, the objectives of kinematic optimization are: That is, try to shorten the joint space distance between adjacent points on the trajectory, thereby reducing the maximum joint speed of the robot when moving along the trajectory and reducing the risk of joint overspeed.
[0091] The principle of the present invention is to find a set of rotation angles [d 1 ,d 2 ,…,d m ], so that the robot's motion trajectory in the joint space is C = [θ 1 ,θ 2 ,…,θ mMeet the singularity avoidance constraint conditions while minimizing the joint space movement distance between adjacent postures; The optimization strategy to achieve the above goals can be greedy or heuristic. Among them, the greedy strategy is simple to calculate and has high efficiency in generating robot programs. When the greedy strategy cannot obtain a result that ensures the joint speed does not exceed the limit, the heuristic strategy can be tried for global optimization; The implementation process of the robot programming method of the present invention is shown in Figure 1 。
[0092] Specifically, steps 6, S8, and S9 are as follows: For the first point q in Q 1 , calculate the robot posture θ 1 corresponding manipulability ω 1 ;
[0093] If ω 1 < h, rotate the robot end by an angle △d around the tool axis, update R 1 , and recalculate the robot posture θ 1 and ω 1 , until a result where ω 1 ≥ h is found;
[0094] For subsequent points q i (i = 2, 3,..., m) starting from the second point in Q, let the robot end traverse the feasible rotation angles, find all postures that make the robot satisfy ω i ≥ h, and save them in the set Θ i ={θ i1 , θ i2 ,…, θ ik} (assuming there are k feasible postures that make ω i ≥ h);
[0095] For each posture θ i in Θ ij (j = 1, 2,..., k), calculate its joint space distance ||θ i-1 -θ i-1 -θ ij || with θ i-1 , and select the posture with the smallest joint space distance from θ i as the posture θ i of the robot at the point q
[0096] Repeat the above process until the posture of the robot at the last point in Q is determined;
[0097] Save the end - effector poses corresponding to the robot postures from θ 1 to θ m , form a robot program and output.
[0098] Embodiment 3
[0099] As shown Figure 1 in the figure, a six-axis industrial robot programming method for preventing joint overspeed by kinematic optimization includes the following steps:
[0100] Step S1. Input the trajectory; in the present invention application, the application object is a six-axis industrial robot, and the nature of the robot's work task allows the end to rotate around the tool axis;
[0101] Step S2. Interpolate between the trajectory control points to obtain a discrete point sequence;
[0102] Step S3. Initialize the end working posture and calculate the inverse solution of the robot to obtain the joint space motion trajectory;
[0103] Step S4. Define the method for calculating the manipulability, the singularity region threshold, and the joint space movement distance;
[0104] Step S5. Select an optimization strategy. If the optimization strategy is a greedy strategy, execute Step S6; if the optimization strategy is a heuristic strategy, execute Step S7;
[0105] Step S6. Implement through the greedy strategy;
[0106] Step S7. Implement through the heuristic strategy;
[0107] Step S8. Generate the rotation angle of the end around the tool axis and the robot joint space trajectory;
[0108] Step S9. Output the robot program.
[0109] In Step S1, save the motion trajectory of the end tool in the form of P = [p 1 , p 2 , …, p n , where p i (i = 1, 2, …, n) are the control points on the trajectory (including the start and end points of the straight line and arc, and the control points of the spline curve), and there is p i = [X i , Y i , Z i , I i , J i , K i , where X i , Y i , Z i are the spatial position coordinates of the tool center point, and I i , J i , K i are the spatial vectors of the tool axis;
[0110] In Step S2, set the maximum step size s for trajectory discretization, and between adjacent trajectory control points pi , p i+1 Interpolate new points evenly between them (i = 1, 2, …, n - 1), so that the distance between any two adjacent points from p i to p i+1 is ≤ s. Save the sequence of the original control points and the newly interpolated points, and denote it as the discrete point sequence Q = [q 1 , q 2 , …, q m , where q 1 corresponds to the original trajectory starting point p 1 , q m corresponds to the original trajectory ending point p n , and m ≥ n.
[0111] For the step size s, a feasible definition method is the maximum distance in the Cartesian space and the maximum angle of the space vector. That is, when the space distance or the space vector angle between adjacent points is greater than the maximum value defined by s, it is considered that the distance between the two points > s.
[0112] In step S3, for each point q i (i = 1, 2, …, m) in Q, first, with the desired end - effector working posture, give the initial space posture R i of the end - effector at this point, so that the axis of the end - effector tool is along the [I i , J i , K i vector direction; combined with R i , calculate the inverse kinematic solution of the robot at q i , and obtain the robot posture θ i described by the 1 - 6 joint angles. Traverse from q 1 to q m , and obtain the motion trajectory C = [θ 1 , θ 2 , …, θ m of the robot in the joint space.
[0113] In step S4, according to the definition of the manipulability index ω of the six - axis industrial robot, set the threshold h of the robot singularity region;
[0114] A common definition that ω can adopt is where J(θ) is the Jacobian matrix of the six - axis industrial robot, and det is the function for calculating the determinant of the matrix; when using this definition, the robot approaches the singularity when the value of ω(θ) is close to 0, then the threshold h is the lower limit of the manipulability, and it is considered that when the manipulability ω(θ) of the robot in the posture θ < h, the robot enters the singularity region.
[0115] In the present invention, the robot moves from the previous point q i to the next point qi+1 When it is, the moving distance in the joint space is expressed as ||θ i+1 - θ i ||; For ||θ i+1 - θ i ||, a feasible definition method is: the maximum rotation angle among joints 4 to 6;
[0116] The variable for kinematic optimization is the angle d by which the robot end rotates around the tool axis at the point q i (i = 1, 2,..., m), when d i = 0, the end is in the initial posture R i , when d i is adjusted in step size △d, R i and θ i change accordingly, thereby changing the singular state of the robot at the point q i and the moving distance in the joint space to q i ; i+1 In the present invention, the constraint condition for kinematic optimization is:
[0117] That is, the robot is not in the singular point region at any point on the trajectory; In the present invention, the goal of kinematic optimization is:
[0118] That is, try to shorten the joint space distance between adjacent points on the trajectory, thereby reducing the maximum joint speed when the robot moves along the trajectory and reducing the risk of joint overspeed. The principle of the present invention lies in finding a set of rotation angles [d
[0119] by an appropriate optimization strategy, so that the motion trajectory C = [θ 1 , d 2 ,..., d m of the robot in the joint space satisfies the singularity avoidance constraint condition, and at the same time minimizes the joint space moving distance between adjacent postures; the optimization strategy to achieve the above goal can be selected as greedy or heuristic. Among them, the greedy strategy is simple to calculate and has high efficiency in generating robot programs. When the greedy strategy cannot obtain a result that ensures the joint speed does not exceed the limit, the heuristic strategy can be tried for global optimization; the implementation process of the robot programming method of the present invention is shown in 1 , θ 2 ,..., θ m satisfies the singularity avoidance constraint condition, and at the same time minimizes the joint space moving distance between adjacent postures; the optimization strategy to achieve the above goal can be selected as greedy or heuristic. Among them, the greedy strategy is simple to calculate and has high efficiency in generating robot programs. When the greedy strategy cannot obtain a result that ensures the joint speed does not exceed the limit, the heuristic strategy can be tried for global optimization; the implementation process of the robot programming method of the present invention is shown in Figure 1 .
[0120] Steps S7 - S9 are specifically as follows. Refer to Figure 3 , the method of global optimization through the heuristic algorithm,
[0121] For each point q in Q i, let the end of the robot traverse the feasible rotation angles to find all the postures that make the robot satisfy ω i ≥h, and save them in the set Θ i ={θ i1 , θ i2 , …, θ ik};
[0122] For all m points from q 1 to q m , select a robot posture for each in the set Θ 1 to Θ m to form a solution C = [θ 1x , θ 2y , …, θ mz described in the robot joint space;
[0123] Calculate the joint space distance between each adjacent robot posture in C, and evaluate the performance of C with the maximum value. The smaller the maximum value, the better the performance of C;
[0124] Use the heuristic algorithm to iterate C to find the result with a smaller robot joint space distance between adjacent points;
[0125] Save the end - effector poses corresponding to the robot postures in C to form a robot program and output it.
[0126] In the above method, the specific definition of the robot joint space distance ||θ i - θ j || can be adjusted according to the characteristics of the robot task. For example, it can be defined as the weighted average of the rotation angles of joints 1 - 6 of a six - axis industrial robot, or the maximum rotation angle of the wrist joint (joints 4 - 6) where singularities are likely to occur.
[0127] Example 4
[0128] Use a six - axis industrial robot to operate an end - effector for part surface treatment and execute the Figure 3 shown motion trajectory. To ensure the surface treatment quality, it is required that the linear velocity of the center point of the end - effector remains as stable as 100 mm / s when moving on the Z0 plane in the figure. The trajectory is discretized with a maximum step size s = 70 mm, and the 254 points (hereinafter referred to as tool - path points) generated by discretization are shown in the figure.
[0129] The M - DH kinematic model parameters of the robot are shown in Table 1. The position of the end - effector coordinate system relative to the robot flange coordinate system is represented by the spatial homogeneous transformation matrix as:
[0130]
[0131] Among them, the unit of the spatial position vector in the fourth column is mm. The position of the machining coordinate system (i.e., the coordinate system in Figure 3 ) where the motion trajectory is located relative to the robot base is represented by the spatial homogeneous transformation matrix as follows:
[0132]
[0133] Table 1 Robot M-DH kinematic model parameters for executing trajectory motion
[0134]
[0135] The calculation of the robot's manipulability is carried out according to where J is the robot Jacobian matrix. Set the threshold h = 0.3 for the robot's singular point region. When the robot's manipulability ω is less than h, it is considered that the robot enters the singular point region, and it is necessary to avoid the situation where ω < h on the motion trajectory. The end of the robot has a rotational degree of freedom around the tool axis, and the end is allowed to rotate ±30° from the initial position. Set the rotational angle step size of the end Δd = 5, then the robot has at most 13 postures to choose from at each tool point.
[0136] Since in this surface treatment task, the motion amplitudes of the robot's joints 1-3 are small, and the overspeed risk is concentrated in the robot's wrist joints 4-6, the evaluation index of the joint space distance is defined as the maximum change of the robot's wrist joint:
[0137]
[0138] where j = 4, 5, 6 and Δθ j = |θ i,j - θ i-1,j |, that is, the maximum rotation angle that appears on joints 4-6.
[0139] This implementation case uses the greedy strategy introduced in the technical solution to complete the optimization. At tool points 1-190, the end of the robot rotates 5° around the tool axis, and at tool points 191-254, the end of the robot rotates 10° around the tool axis. The change in the robot's manipulability can be seen in Figure 4 . It can be seen that the ω values of the robot at all tool points are greater than 0.3.
[0140] Figure 5 Analyzed ||θ i - θ i-1 || with tool points q i-1 and q iThe ratio of the Cartesian space distances between them is used to observe the rotation rate of the robot's wrist joint as the center point of the end tool moves along the trajectory. It can be seen that this rate never exceeds 0.4° / mm. When the end tool moves at a speed of 100 mm / s, the average rotation speed that the robot's wrist joint may exhibit does not exceed 40° / s, which is completely within the rated rotation speed of the robot's joints 4 to 6.
[0141] As a comparison, if no optimization strategy is adopted in this embodiment and the robot's singularity avoidance is only adjusted at each tool path point, the changes in the robot's manipulability, ||θ i -θ i-1 || and the ratio of the Cartesian space distance from the tool path point q i-1 to q i are shown respectively in Figure 6 and Figure 7 . It can be seen from the figure that although the manipulability of the robot at all tool path points is greater than 0.3 and it does not enter the singularity region, the rotation rate of the wrist joint reaches a maximum of 2.07° / mm. When the end tool moves to this tool path point at a speed of 100 mm / s, the average rotation speed of a certain joint of the robot's wrist reaches 207° / s. This speed occurs at the robot's joint 4 and has far exceeded its rated speed (179° / s). Therefore, passing through this tool path point will cause the over-speed of joint 4. If it decelerates through this point, the quality of the part surface treatment will be affected.
Claims
1. A six-axis industrial robot programming method using kinematic optimization to prevent joint overspeed, characterized in that: It includes the following steps: Step S1. Input the trajectory; Step S2. Interpolate between the trajectory control points to obtain a discrete point position sequence; Step S3. Initialize the end working posture and calculate the inverse kinematics of the robot to obtain the joint space motion trajectory; Step S4. Define the manipulability calculation method, the singular point region threshold, and the joint space movement distance; Step S5. Select an optimization strategy. If the optimization strategy is the greedy strategy, execute Step S6; if the optimization strategy is the heuristic strategy, execute Step S7; Step S6. Implement through the greedy strategy; Step S7. Implement through the heuristic strategy; Step S8. Generate the rotation angle of the end effector around the tool axis and the robot joint space trajectory; Step S9. Output the robot program.
2. The six-axis industrial robot programming method for preventing joint overspeed by using kinematic optimization according to claim 1, characterized in that: In step S1, the motion trajectory of the end tool is saved as P = [p1, p2, ..., p n ], where p i (i=1,2,…,n) are control points on the trajectory, and there are p i =[X i ,Y i ,Z i ,I i ,J i ,K i ], where X i ,Y i ,Z i is the spatial position coordinate of the tool center point, I i ,J i ,K i is the space vector of the tool axis.
3. The six-axis industrial robot programming method for preventing joint overspeed by using kinematic optimization according to claim 2, characterized in that: In step S2, the maximum step size s of the trajectory discretization is set, and the adjacent trajectory control points p i 、p i+1 New points are uniformly interpolated between them (i=1,2,…,n-1), so that i to p i+1 The distance between any two adjacent points is ≤s, and the sequence of the original control points and the new interpolation points is saved and recorded as a discrete point sequence Q = [q1, q2, ..., q m ], where q1 corresponds to the starting point p1 of the original trajectory, q m Corresponding to the end point p of the original trajectory n , and m≥n.
4. The six-axis industrial robot programming method for preventing joint overspeed by using kinematic optimization according to claim 3 is characterized in that: When the spatial distance or the included angle of the spatial vectors between adjacent points is greater than the maximum value defined by s, it is considered that the distance between the two points > s.
5. The six-axis industrial robot programming method for preventing joint overspeed by using kinematic optimization according to claim 3, characterized in that: In step S3, for each point q in Q i (i=1,2,…,m), first give the initial spatial posture R of the end at the point with the desired working posture of the end robot i , so that the end tool axis is along [I i ,J i ,K i ] vector direction; combined with R i , computing robots in q i The inverse kinematics solution at θ is used to obtain the robot posture θ described by 1 to 6 joint angles. i , traverse q1 to q m , and obtain the robot's motion trajectory C=[θ1,θ2,…,θ m ].
6. The six-axis industrial robot programming method for preventing joint overspeed by using kinematic optimization according to claim 5, characterized in that: In Step S4, according to the definition of the manipulability index ω of the six-axis industrial robot, set the threshold h of the singular point region of the robot; ω is defined as where J(θ) is the Jacobian matrix of a six-axis industrial robot, and det is the function for calculating the determinant of a matrix; when the value of ω(θ) of the robot approaches 0, the robot approaches a singularity. Then the threshold h is the lower limit of the manipulability, and it is considered that when the manipulability ω(θ) of the robot at the posture θ < h, the robot enters the singularity region.
7. The six-axis industrial robot programming method for preventing joint overspeed by using kinematic optimization according to claim 6, characterized in that: The robot is at the previous position q i Move to the next point q i+1 When , its moving distance in the joint space is expressed as ||θ i+1 -θ i ||; for ||θ i+1 -θ i ||, defined as: the maximum rotation angle among joints 4 to 6; The variable for kinematic optimization is the robot end at point q i (i=1,2,…,m) is the angle d of rotation around the tool axis i , when d i = 0 when the end is in the initial posture R i , when d i Adjust with step size △d, R i With θ i Change accordingly, and then change the robot's position q i The singular state on and to q i+1 The distance moved in joint space.
8. The six-axis industrial robot programming method for preventing joint overspeed by using kinematic optimization according to claim 7, characterized in that: The constraints for kinematic optimization are: The robot is not in the singularity region at any point in the trajectory; The goals of kinematic optimization are: Shorten the joint space distance between adjacent points on the trajectory, reduce the maximum joint speed of the robot when moving along the trajectory, and reduce the risk of joint overspeed.
9. The six-axis industrial robot programming method for preventing joint overspeed by using kinematic optimization according to claim 6, characterized in that: Steps 6, S8, and S9 are specifically: For the first point q1 in Q, calculate the manipulability ω1 corresponding to the robot posture θ1; If ω1 < h, rotate the end effector of the robot around the tool axis by an angle △d, update R1, and recalculate the robot posture θ1 and ω1 until a result with ω1 ≥ h is found; For the subsequent points q starting from the second point in Q i (i=2,3,…,m), let the robot end traverse the feasible rotation angles and find all the rotation angles that make the robot satisfy ω i ≥h, and save them in the set Θ i ={θ i1 ,θ i2 ,…,θ ik }middle; For Θ i Each posture θ in ij (j=1,2,…,k), calculate its difference with θ i-1 The joint space distance ||θ i-1 -θ ij ||, and choose the same as θ i-1 The posture with the smallest joint space distance is taken as the robot at point q i The posture θ on i ; Repeat the above process until the posture of the robot is determined for the last point in Q; Convert θ1 to θ m The end tool posture corresponding to the robot posture is saved, forming a robot program and outputting it.
10. The six-axis industrial robot programming method for preventing joint overspeed by using kinematic optimization according to claim 6, characterized in that: Steps S7 - S9 are specifically: For every point q in Q i , let the robot end traverse the feasible rotation angles and find all the rotation angles that make the robot satisfy ω i ≥h, and save them in the set Θ i ={θ i1 ,θ i2 ,…,θ ik }middle; For q1 to q m All m points in the set Θ1 to Θ m Select a robot posture in each of them to form a solution C=[θ 1x ,θ 2y ,…,θ mz ]; Calculate the joint space distance between each adjacent robot posture in C, and evaluate the performance of C with the maximum value among them. The smaller the maximum value, the better the performance of C; Iterate C using the heuristic algorithm to find a result with a smaller joint space distance between adjacent points; Save the end effector poses corresponding to the robot postures in C to form and output the robot program.
Citation Information
Patent Citations
Displacement device, robot and singular point processing method for robot
CN105415363A
Regional speed reduction protection system of singular point and industrial robot
CN205614678U
Cited By
Method for generating bagging track and planning attitude of redundant mechanical arm
CN121572342A