CN108582071B - Industrial robot programming track diagnosis and speed optimization method - Google Patents
Industrial robot programming track diagnosis and speed optimization method Download PDFInfo
- Publication number
- CN108582071B CN108582071B CN201810382999.9A CN201810382999A CN108582071B CN 108582071 B CN108582071 B CN 108582071B CN 201810382999 A CN201810382999 A CN 201810382999A CN 108582071 B CN108582071 B CN 108582071B
- Authority
- CN
- China
- Prior art keywords
- programming
- speed
- limit
- points
- joint
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
Abstract
The invention belongs to the field of industrial robots, and discloses a method for diagnosing a programming track and optimizing speed of an industrial robot, which comprises the following steps: (1) acquiring an original programming code of a motion track of the industrial robot, establishing an industrial robot model, and acquiring attribute parameters of the industrial robot; (2) dispersing the motion track to form a line segment with equal arc length and obtain a series of discrete points; (3) inverting to obtain joint coordinates of each discrete point; (4) calculating joint speed, acceleration and moment at discrete points; (5) diagnosing a region which cannot reach the programming speed and carrying out speed optimization; (6) and outputting the programming code with optimized speed, wherein the programming code increases the programming point positions and optimizes the programming speed compared with the original programming code. The invention can realize the speed optimization of the programming track and obtain the programming code meeting the dynamics of the robot. The running time of the robot is shortened and the robot runs more stably when the robot runs on the computer actually.
Description
Technical Field
The invention belongs to the field of industrial robots, and particularly relates to a method for diagnosing a programming track and optimizing speed of an industrial robot.
Background
The programming of the industrial robot has two modes of teaching programming and off-line programming. Teaching programming is that an operator holds a demonstrator in hand, manually controls the tail end of the robot to reach a specified posture and position, records pose data of the robot and compiles a robot programming instruction. The off-line programming is to construct a virtual 3D working scene on CAD \ CAM software, and then the software can automatically generate the programming code of the robot according to the size, shape and material of the part to be processed and simultaneously matching with some operations of a software operator.
Regardless of the programming mode, only the limit of the joint of the industrial robot is considered in many times during programming, the obtained programmed track can not run, and other limits (speed, acceleration and moment) of the joint of the industrial robot are not considered. The robot is a complex and highly coupled nonlinear mechanism, and the joint velocity and the terminal velocity of the robot have only a transient relation. In actual operation, the robot sometimes fails to reach programming speed because one or more joints reach their property limits.
Disclosure of Invention
Aiming at the defects or the improvement requirements of the prior art, the invention provides a method for diagnosing the programming track and optimizing the speed of the industrial robot, which comprises the steps of calculating the joint speed, the acceleration and the moment at each point through discrete programming points with equal arc length, and comparing the joint speed, the acceleration and the moment with the actual joint limit; speed optimization is performed by increasing the programming points and changing the programming speed to generate programming code that satisfies the kinematics of the robot.
To achieve the above object, according to the present invention, there is provided a method for programming trajectory diagnosis and speed optimization for an industrial robot, comprising the steps of:
(1) acquiring an original programming code of a motion track of the industrial robot, establishing an industrial robot model, and acquiring attribute parameters of the industrial robot;
(2) dispersing a motion track generated by an original programming code to form a line segment with equal arc length and obtain a series of discrete points, setting the discrete arc length as an integral multiple of an interpolation period length, and storing Cartesian coordinates P (x, y, z, A, B and C) of the discrete points, wherein x, y and z are coordinates of an origin of a tool coordinate system relative to a workpiece coordinate system, and A, B and C are postures of the tool coordinate system relative to the workpiece coordinate system;
(3) according to the Cartesian coordinates P (x, y, z, A, B and C) of the discrete points, the joint coordinates J (theta) of each discrete point are obtained by inversion1,θ2,θ3,θ4,θ5,θ6),θ1,θ2,θ3,θ4,θ5,θ6The angles of the joints i of the industrial robot are 1,2 … 6;
(4) respectively calculating the joint speed, the acceleration and the moment at each discrete point according to the joint coordinates and the programming speed at each discrete point;
(5) according to the joint speed, the acceleration and the moment at each discrete point, comparing with the speed limit, the acceleration limit and the moment limit of each joint of the industrial robot respectively, diagnosing, and optimizing the programming speed for the region which can not reach the programming speed;
(6) and outputting the programming code with optimized speed, wherein the programming code increases the programming point positions and optimizes the programming speed compared with the original programming code.
Preferably, the specific process of comparing and diagnosing in step (5) is as follows:
taking every two programming points of a motion track generated by original programming codes as a reference, and if all discrete points between the two programming points do not exceed the speed limit, the acceleration limit and the moment limit of each joint, the programming codes are unchanged;
if there are points between these two programmed points that exceed the velocity limit, acceleration limit, and moment limit of each joint, then the following programmed velocity optimization is performed: inserting a new programming point between the two programming points, segmenting the motion track between the two programming points, the new programming point coinciding with a discrete point just beyond the speed limit, acceleration limit and moment limit of each joint, and setting the minimum value of the maximum linear velocity allowed for each segment as the programming speed of the segment.
Preferably, the programming speed is increased to an appropriate value for the program point that does not exceed the practical limit and allows for an increase in speed.
Preferably, the property parameters include DH parameters, a workpiece coordinate system, a tool coordinate system, velocity limits, acceleration limits and moment limits of the respective joints of the industrial robot.
In general, compared with the prior art, the above technical solution contemplated by the present invention can achieve the following beneficial effects:
according to the method, joint speed, acceleration and moment information at a point are obtained from the angle of a programming track and the discrete programming track with equal arc length, compared with actual limits of joints, speed optimization of the programming track is realized by increasing programming points and changing the programming speed, and a programming code meeting robot dynamics is obtained. The running time of the robot is shortened and the robot runs more stably when the robot runs on the computer actually.
Drawings
FIG. 1 is a flow chart of the invention;
fig. 2 is a diagram of the trajectory of the joint 1;
fig. 3 is a velocity diagram of the joint 1;
fig. 4 is an acceleration diagram of the joint 1;
fig. 5 is a moment diagram of the joint 1;
FIG. 6 is an exemplary diagram of an intervening programming point.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention. In addition, the technical features involved in the embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.
Referring to fig. 1 to 6, a method for programming trajectory diagnosis and speed optimization of an industrial robot includes the following steps:
(1) acquiring an original programming code of a motion track of the industrial robot, establishing an industrial robot model, and acquiring attribute parameters of the industrial robot;
(2) dispersing a motion track generated by an original programming code to form a line segment with equal arc length and obtain a series of discrete points, setting the discrete arc length as an integral multiple of the length of an interpolation period, and storing the Cartesian coordinates P (x, y, z, A, B and C) of the discrete points;
(3) according to the Cartesian coordinates P (x, y, z, A, B and C) of the discrete points, the joint coordinates J (theta) of each discrete point are obtained by inversion1,θ2,θ3,θ4,θ5,θ6) Wherein x, y and z are coordinates of the origin of the tool coordinate system relative to the workpiece coordinate system, A, B and C are postures of the tool coordinate system relative to the workpiece coordinate system, and theta1,θ2,θ3,θ4,θ5,θ6For corners of joints of industrial robotsDegree;
(4) respectively calculating the joint speed, the acceleration and the moment at the discrete point according to the joint coordinate and the programming speed at the discrete point; wherein the programming speed is a linear speed in a Cartesian space;
(5) according to the joint speed, the acceleration and the moment at the discrete point, respectively comparing with the speed limit, the acceleration limit and the moment limit of each joint of the industrial robot, diagnosing a region which can not reach the programmed speed and optimizing the speed;
(6) and outputting the programming code with optimized speed, wherein the programming code increases the programming point positions and optimizes the programming speed compared with the original programming code.
Further, the speed optimization process in step (5) is as follows:
always taking every two programmed points of the motion trail generated by the original programming code as a reference, if all discrete points between the original two programmed points do not exceed the limit, the programming code is not changed. If the discrete points between the two original programming points have points exceeding the speed limit, the acceleration limit and the moment limit of each joint, inserting a new programming point between the two programming points, segmenting the motion trail between the two programming points, coinciding the new programming point with the discrete points just exceeding the speed limit, the acceleration limit and the moment limit of each joint, and setting the minimum value of the maximum linear speed allowed by each segment as the programming speed of the segment. Referring to FIG. 6, the original programming point is P1And P2The original programming speed is set to v. Since there are points exceeding the limit in the discrete points, the maximum linear velocity allowed for the discrete points is calculated. When speed optimization is carried out, the track is segmented, and a new programming point P is inserted3、P4And P5,P3、P4And P5Coincides with a discrete point position just beyond the speed limit, acceleration limit and moment limit of the respective joint, P3、P4And P5Handle P1P2The track is divided into four segments, and the programming speed of each segment is set to the minimum value of the maximum linear speed allowed by the segment, namely P1P3Segment programming speedDegree v, P3P4Segment programming speed v1,P4P5Segment programming speed is v, P5P2Segment programming speed v2。
Further, for a program point that does not exceed the practical limit and allows for an increase in speed, the program speed is increased to an appropriate value.
Further, the property parameters include a DH parameter, a workpiece coordinate system, a tool coordinate system, a velocity limit, an acceleration limit, and a moment limit of each joint of the industrial robot.
The following method for programming trajectory diagnosis and speed optimization by combining a specific Huan number HSR-JR605 industrial robot is as follows:
(1) acquiring offline programming codes and property parameters of the Huan number HSR-JR605 industrial robot, using offline programming software to enable the HSR-JR605 industrial robot to generate a sinusoidal track on a slope, simulating to obtain a reachable track, and generating the offline programming codes. When programmed, a constant Cartesian velocity of 100mm/s is given. The robot's attribute parameters are acquired with joint practical limits as shown in the table below.
TABLE 1 Joint constraint for HSR-JR605 robot
A portion of programming code
.................
MOVES ROBOT P18{205.1112,-263.9156,320.8333,-90.0000,30.0000,140.6536}Vtran=100
MOVES ROBOT P19{202.8824,-262.1114,321.8750,-90.0000,30.0000,132.5908}
MOVES ROBOT P20{200.3213,-258.5029,323.9583,-90.0000,30.0000,107.1232}
MOVES ROBOT P21{200.0001,-256.6987,325.0000,-90.0000,30.0000,90.0053}
MOVES ROBOT P22{200.3212,-254.8945,326.0417,-90.0000,30.0000,72.8654}
MOVES ROBOT P23{201.2835,-253.0903,327.0833,-90.0000,30.0000,58.4061}
MOVES ROBOT P24{202.8822,-251.2861,328.1250,-90.0000,30.0000,47.4065}
MOVES ROBOT P25{205.1113,-249.4819,329.1667,-90.0000,30.0000,39.3476}
MOVES ROBOT P26{207.9605,-247.6776,330.2083,-90.0000,30.0000,33.4335}
MOVES ROBOT P27{211.4182,-245.8734,331.2500,-90.0000,30.0000,29.0082}
MOVES ROBOT P28{220.0963,-242.2650,333.3333,-90.0000,30.0000,22.9961}
………………
(2) And (5) carrying out equal arc length discrete programming on the points, and obtaining the coordinates of the discrete points. The arc length is set to 10 interpolation periods of 1 mm.
Description of the drawings: since the industrial robot has 6 joints, which are more numerous, only the results of joint 1 are given here, and the other joints are not listed.
(3) And obtaining joint coordinates of the points by using the Cartesian coordinates and pose information of the points, and obtaining curves in the arc length domain.
(4) And respectively calculating the joint speed, the acceleration and the moment by using the joint coordinates calculated in the last step and the speed at the programming point, and obtaining corresponding curves.
(5) And taking every two programming points as a reference, comparing the calculated value with the actual attribute limit of the joint, diagnosing whether the point exceeding the limit exists or not, and carrying out different treatments on different conditions. As can be seen from the velocity, acceleration, and moment images of the joint 1 above, the point of overrun can be quickly located.
(6) After the previous processing is completed, the programming code with optimized speed is output.
The speed optimized back part programming code is
..................
MOVES ROBOT P18{205.1112,-263.9156,320.8333,-90.0000,30.0000,140.6536}Vtran=160
MOVES ROBOT P19{202.8824,-262.1114,321.8750,-90.0000,30.0000,132.5908}
MOVES ROBOT P157{201.2834,-260.3072,322.9167,-90.0000,30.0000,121.6003}Vtran=95.0
MOVES ROBOT P20{200.3213,-258.5029,323.9583,-90.0000,30.0000,107.1232}Vtran=32.60
MOVES ROBOT P21{200.0001,-256.6987,325.0000,-90.0000,30.0000,90.0053}
MOVES ROBOT P22{200.3212,-254.8945,326.0417,-90.0000,30.0000,72.8654}
MOVES ROBOT P23{201.2835,-253.0903,327.0833,-90.0000,30.0000,58.4061}
MOVES ROBOT P24{202.8822,-251.2861,328.1250,-90.0000,30.0000,47.4065}
MOVES ROBOT P25{205.1113,-249.4819,329.1667,-90.0000,30.0000,39.3476}
MOVES ROBOT P26{207.9605,-247.6776,330.2083,-90.0000,30.0000,33.4335}
MOVES ROBOT P27{211.4182,-245.8734,331.2500,-90.0000,30.0000,29.0082}Vtran=32.60
MOVES ROBOT P158{215.4692,-244.0692,332.2917,-90.0000,30.0000,25.6325}Vtran=96.5
MOVES ROBOT P28{220.0963,-242.2650,333.3333,-90.0000,30.0000,22.9961}Vtran=160
…………………
Two code comparisons show that the number of optimized programming points is increased and the programming speed is changed from the codes of P157 and P158. The output programming code is optimized in speed and meets the kinematics of the robot.
It will be understood by those skilled in the art that the foregoing is only a preferred embodiment of the present invention, and is not intended to limit the invention, and that any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the scope of the present invention.
Claims (3)
1. A method for diagnosing and optimizing the programming track of an industrial robot is characterized by comprising the following steps:
(1) acquiring an original programming code of a motion track of the industrial robot, establishing an industrial robot model, and acquiring attribute parameters of the industrial robot;
(2) dispersing a motion track generated by an original programming code to form a line segment with equal arc length and obtain a series of discrete points, setting the discrete arc length as an integral multiple of an interpolation period length, and storing Cartesian coordinates P (x, y, z, A, B and C) of the discrete points, wherein x, y and z are coordinates of an origin of a tool coordinate system relative to a workpiece coordinate system, and A, B and C are postures of the tool coordinate system relative to the workpiece coordinate system;
(3) according to the Cartesian coordinates P (x, y, z, A, B and C) of the discrete points, the joint coordinates J (theta) of each discrete point are obtained by inversion1,θ2,θ3,θ4,θ5,θ6),θ1,θ2,θ3,θ4,θ5,θ6The angles of the joints i of the industrial robot are 1,2 … 6;
(4) respectively calculating the joint speed, the acceleration and the moment at each discrete point according to the joint coordinates and the programming speed at each discrete point;
(5) according to the joint speed, the acceleration and the moment at each discrete point, comparing the speed limit, the acceleration limit and the moment limit of each joint of the industrial robot respectively, diagnosing, and optimizing the programming speed of the region which cannot reach the programming speed;
(6) outputting the programming code with optimized speed, wherein the programming code increases programming points and optimizes the programming speed compared with the original programming code;
wherein, the specific process of comparison and diagnosis in the step (5) is as follows:
taking every two programming points of a motion track generated by original programming codes as a reference, and if all discrete points between the two programming points do not exceed the speed limit, the acceleration limit and the moment limit of each joint, the programming codes are unchanged;
if there are points between these two programmed points that exceed the velocity limit, acceleration limit, and moment limit of each joint, then the following programmed velocity optimization is performed: inserting a new programming point between the two programming points, segmenting the motion track between the two programming points, the new programming point coinciding with a discrete point just beyond the speed limit, acceleration limit and moment limit of each joint, and setting the minimum value of the maximum linear velocity allowed for each segment as the programming speed of the segment.
2. A method for programmed trajectory diagnosis and speed optimization for an industrial robot according to claim 1, characterized in that the programming speed is increased to a suitable value for programming points where no practical limit is exceeded and where an increase in speed is allowed.
3. The method of claim 1, wherein the property parameters include DH parameters, workpiece coordinate system, tool coordinate system, velocity limits, acceleration limits, and moment limits of each joint of the industrial robot.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810382999.9A CN108582071B (en) | 2018-04-26 | 2018-04-26 | Industrial robot programming track diagnosis and speed optimization method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810382999.9A CN108582071B (en) | 2018-04-26 | 2018-04-26 | Industrial robot programming track diagnosis and speed optimization method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108582071A CN108582071A (en) | 2018-09-28 |
CN108582071B true CN108582071B (en) | 2020-09-08 |
Family
ID=63609355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810382999.9A Active CN108582071B (en) | 2018-04-26 | 2018-04-26 | Industrial robot programming track diagnosis and speed optimization method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108582071B (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109620410B (en) * | 2018-12-04 | 2021-01-26 | 微创(上海)医疗机器人有限公司 | Method and system for preventing collision of mechanical arm and medical robot |
CN109434841B (en) * | 2019-01-07 | 2021-07-06 | 南京航空航天大学 | Global time optimal trajectory planning method for dynamic speed regulation of industrial robot |
CN109940619A (en) * | 2019-04-09 | 2019-06-28 | 深圳前海达闼云端智能科技有限公司 | Trajectory planning method, electronic device and storage medium |
CN110722554B (en) * | 2019-09-02 | 2023-05-02 | 群滨智造科技(苏州)有限公司 | Manipulator track editing and correcting method based on laser point cloud data |
DE112019007488T5 (en) * | 2019-09-06 | 2022-03-10 | Robert Bosch Gesellschaft mit beschränkter Haftung | Method and device for simplifying a trajectory of an industrial robot, computer storage medium and work platform for industrial robots |
CN110900605B (en) * | 2019-12-02 | 2021-03-16 | 浙江大学 | Multi-constraint machining optimization method for coordinated mechanical arm based on speed reconfiguration |
CN111702380A (en) * | 2020-05-18 | 2020-09-25 | 天津大学 | Welding process control method of welding robot |
CN112720455B (en) * | 2020-12-01 | 2022-05-10 | 深圳众为兴技术股份有限公司 | Optimal joint acceleration and deceleration calculation method and device and application thereof |
CN113190021B (en) * | 2021-06-03 | 2023-10-27 | 佛山华数机器人有限公司 | Industrial robot small line segment track planning method |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4101665B2 (en) * | 2003-01-16 | 2008-06-18 | 三菱電機株式会社 | Numerical controller |
WO2011150534A1 (en) * | 2010-06-04 | 2011-12-08 | 中国科学院自动化研究所 | Method and system for generating trajectory of robot with continuous acceleration |
CN102566510B (en) * | 2010-12-08 | 2013-10-09 | 中国科学院沈阳计算技术研究所有限公司 | Speed-priority spline real-time interpolation method facing high-speed processing |
CN106903692A (en) * | 2017-03-31 | 2017-06-30 | 华南理工大学 | A kind of joint moment method for limiting based on Dynamic Models of Robot Manipulators |
CN107263484B (en) * | 2017-08-10 | 2020-04-14 | 南京埃斯顿机器人工程有限公司 | Robot joint space point-to-point motion trajectory planning method |
CN107608313B (en) * | 2017-09-11 | 2019-09-27 | 大连理工大学 | A kind of double spline curve interpolation rate planing methods of five axis |
-
2018
- 2018-04-26 CN CN201810382999.9A patent/CN108582071B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN108582071A (en) | 2018-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108582071B (en) | Industrial robot programming track diagnosis and speed optimization method | |
CN111230880B (en) | Complex curved surface processing track generation method in offline programming | |
CN107263484B (en) | Robot joint space point-to-point motion trajectory planning method | |
US20220063099A1 (en) | Framework of robotic online motion planning | |
CN111553239B (en) | Robot joint vision servo control method, terminal equipment and storage medium | |
JP2018020410A (en) | Layout setting method, and layout setting device | |
CN113715016B (en) | Robot grabbing method, system, device and medium based on 3D vision | |
CN106041932B (en) | A kind of motion control method of UR robots | |
CN112684717A (en) | Construction method of virtual-real combined digital twin simulation experiment platform | |
US6895299B2 (en) | Systems and methods for representing complex n-curves for direct control of tool motion | |
CN108427282A (en) | A kind of solution of Inverse Kinematics method based on learning from instruction | |
CN110722576A (en) | Industrial robot milling path global fairing method and system | |
Zhen et al. | Adaptive automatic robot tool path generation based on point cloud projection algorithm | |
CN109676603A (en) | A kind of flexibility hyper-redundant robot control method | |
CN111515954B (en) | Method for generating high-quality motion path of mechanical arm | |
CN117207200A (en) | Method and device for generating working space of mechanical arm and computer equipment | |
US11921492B2 (en) | Transfer between tasks in different domains | |
WO2020133882A1 (en) | Method for applying robot to reproduction machining | |
CN111890366A (en) | Mechanical arm object grabbing planning principle and ROS-based implementation method | |
Zeng | Research of trajectory generation of robot based on CAD file | |
JP2000112510A (en) | Robot teaching method and its device | |
CN109807891A (en) | Equipment moving processing method and processing device | |
Dietz et al. | Automatic optimal motion generation for robotic manufacturing processes: Optimal collision avoidance in robotic welding | |
Zhang et al. | Process Simulation and Optimization of Arc Welding Robot Workstation Based on Digital Twin. Machines 2023, 11, 53 | |
CN113119123B (en) | Motion control method for office swivel chair production |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |