9.23. Real-time forward trajectory planning function
9.23.1. Overview
Real-time forward-looking trajectory planning is based on current and future path information, dynamically adjusting the robot’s motion parameters such as speed and acceleration to ensure smoothness, continuity and accuracy of motion. By predicting the robot’s future position and posture, forward-looking control can respond before the key points of the path, thereby avoiding unstable motion or trajectory errors due to sudden changes in speed and acceleration.
9.23.2. Operation process
Step1: Prepare a trajectory point file in “txt” format, in which each trajectory point is represented by a Cartesian pose.
Step2: Click the “Teaching Program”->”Programming” button in sequence, select the “Trajectory Forward” command in “Motion Command”, and import and delete the trajectory file in “Command Configuration”.
Figure 9.23-1 Import and delete trajectory files
Step3: Select the trajectory file to run and add the “Trajectory Preload” command:
First, choose the fitting method for trajectory points in “Curve Fitting Method”, including “Linear Connection”, “Linear Fitting”, “B-spline Curve”, “Polynomial Optimization Method”, etc. When selecting “Linear Fitting”, additional error limits need to be set, which is not required for other methods.
Then set the smoothing method and smoothing precision. Finally, configure the maximum velocity, maximum acceleration and maximum jerk during operation. The “Uniform Motion” option can be enabled for constant velocity lookahead, which will make the robot perform lookahead at constant speed when activated.
Figure 9.23-2 Setting “Linear Fitting” Parameters for Trajectory Preloading
Figure 9.23-3 Setting Trajectory Preloading Parameters
Step4: Add the “Trajectory Motion” command and generate Lua program. The imported trajectory file can be processed with real-time lookahead trajectory planning by running the Lua program. A typical real-time lookahead trajectory planning program is shown below.
Figure 9.23-4 Typical Program for Real-time Lookahead Trajectory Planning (B-spline Curve)
Step 5: For the “LoadTrajectory” command line in the lua program, click the edit button to modify the setting parameters to achieve different trajectory planning effects.
Figure 9.23-5 Modify the setting parameters
9.24. Swing amplitude monotonous gradual arc tracking function
Swinging motion can realize two swinging amplitude switching modes: “sudden change” and “gradual change”.
The “sudden change” mode refers to the mode of directly switching the swinging parameters of the previous section with the swinging parameters of the next section. It can be realized by setting two adjacent swinging motions with different parameters, or by issuing a new swinging number in real time during the swinging motion (see the manual section corresponding to the function for details, which will not be repeated here).
The “gradual change” mode means that in the current swinging motion, the swinging amplitude set at the beginning gradually changes to the swinging amplitude set at the end.
The swinging parameter gradual switching mode only supports the process of linear swinging.
9.24.1. Introduction
The swinging motion trajectory of monotonic gradual swinging amplitude is shown in the figure below.
Among them, the blue line is the swing direction, a is the swing amplitude of the starting point, and b is the swing amplitude of the ending point. The swing amplitude gradually changes during the movement.
Note
Please note that currently only the starting point and the end point are of the same type, the swing amplitude is different (from a to b), and the other parameters are consistent. It is recommended to check the swing parameters before executing the swing.
The operation process of setting a swing amplitude gradual swing is as follows:
Step 1: Click “Teaching Program”, “Programming”, select and click the “Swing” button under “Motion Instructions” to enter the swing instruction configuration page.
Figure 9.24-1 Click the swing function button
Step 2: Select the swing parameter number at the start of the swing in the command editor, click “Start Swing” and then click the “Add” button.
Figure 9.24-2 Add starting swing parameters
Step 3: Select the target number of the swing gradient, click “Swing gradient start”, and click the “Add” button.
Figure 9.24-3 Add gradual swing parameters
Step 4: After adding the corresponding linear motion, click “Swing Gradient End” and click Add, then click “Stop Swing” and add, complete the setting of a gradual swing motion, and click “Apply” to add it to the LUA program.
Figure 9.24-4 Implement a complete swing amplitude gradient motion LUA instruction
9.25. Offset arc tracking function
During the arc tracking welding process, the robot defaults to adjusting the welding gun swing center to track the workpiece groove center according to the current information to keep consistent, but some process requirements require that the welding gun swing center has a certain offset relative to the workpiece groove center.
Figure 9.25-1 Typical scenarios of bias arc tracking
Typical scenarios of the bias arc tracking function include: a. welding workpiece (welding groove is right angle or acute angle), b. welding gun, e. groove center line. The arc tracking function realizes the following for the welding groove: c. up and down (depth) direction tracking and d. left and right (center) direction tracking, f. left and right direction tracking offset distance.
To realize bias arc tracking, two methods of setting left and right offsets can be selected, namely “sampling” and “percentage” adjustment methods.
9.25.1. Sampling bias arc tracking
The sampling method is to collect the left and right current values during the swinging within a certain cycle as a reference after the swing welding arc is started, and compare the sampling current with the reference current in the subsequent welding process to obtain the tracking direction.
The sampling method requires teaching the swing welding starting position to the required offset, the offset shall not be greater than the swing amplitude, and the weld needs to cover the splicing groove.
The sampling bias instruction setting process is as follows:
Figure 9.25-2 Click the arc tracking command button
Step 1: Click “Teaching Program”, “Programming”, select and click the “Arc Tracking” button under “Welding Command” to enter the arc tracking command configuration page.
Figure 9.25-3 Sampling bias arc tracking configuration page
Step 2: Bias arc tracking acts on left and right compensation. Click the “Left and Right Compensation” subpage, pull down and select “Sampling” in the bias mode, set the sampling start period (the sampling start period must be less than the left and right compensation start time), select “Start” for the instruction type, and click the Add button to generate the LUA instruction.
Figure 9.25-4 Add sampling bias arc tracking end instruction
Step 3: After adding the swing motion instruction, click to select the arc tracking instruction type “End”, and click Add to generate the corresponding LUA instruction.
9.25.2. Percentage bias arc tracking
The percentage bias is to gain the input sampling current by percentage during the arc tracking process, so that the current of the left and right swing cycles will deviate, and the robot will automatically compensate for the deviation signal.
Note
It should be noted that the smaller the swing amplitude and the larger the groove angle, the smaller the deviation of the left and right currents, and the smaller the adjustment percentage. It is recommended to debug with every 1% as the adjustment interval.
The percentage bias instruction setting process is as follows:
Figure 9.25-5 Click the arc tracking command button
Step 1: Click “Teaching Program”, “Programming”, select and click the “Arc Tracking” button under “Welding Command” to enter the arc tracking command configuration page.
Figure 9.25-6 Sampling bias arc tracking configuration page
Step 2: Bias arc tracking acts on left and right compensation. Click the “Left and Right Compensation” subpage, pull down and select “Percent” in the bias mode, set the percentage value (positive value compensates the current gain of the first half cycle and the direction of the second half cycle, negative value is the opposite), select “Start” for the instruction type, and click the Add button to generate the LUA instruction.
Figure 9.25-7 Add percentage bias arc tracking end instruction
Step 3: After adding the swing motion instruction, click to select the arc tracking instruction type “End”, and click Add to generate the corresponding LUA instruction.
The typical LUA program structure of a bias tracking is as follows:
Figure 9.25-8 A typical bias arc tracking LUA program
9.26. Custom collision detection threshold function
9.26.1. Overview
The custom collision detection threshold function is a perfection of the current manual setting of the collision level function. If the current collision level setting does not meet the usage scenario, the user can set a custom collision detection threshold according to the actual situation. The collision detection threshold is divided into joint detection threshold and TCP detection threshold.
9.26.2. Function setting description
Step1: Click “Teaching Program”, select “Programming”, and open the corresponding interface.
Step2: Click the “New” button above, enter “example”, select “empty.lua”, and create a new lua script, as shown in Figure 1.
Figure 9.26-1 Create a new lua script
9.26.2.1. Joint detection threshold function setting instructions
9.26.2.1.1. Parameter setting instructions
Step1: In the control command interface, select the “collision detection” function, as shown in Figure 2. Click “collision detection on”, and select “joint only” under the detection status bar. According to actual needs, modify the input values of J1-J6, the value range is, the unit is NM. In this mode, modifying the TCP threshold in the X-RZ direction does not take effect. According to actual needs, select “non-blocking” or “blocking” for blocking. Click the Add button to complete the opening instruction addition.
Step2: Click “collision detection off”, click the Add button, and complete the closing instruction addition. The program preview interface is shown in Figure 3, click the “Apply” button to complete the function addition.
Note
The custom collision detection threshold function is a set of instructions, which needs to be closed in time after opening.
Step3: In the collision detection function, add the corresponding motion instructions, as shown in Figure 4.
Figure 9.26-2 Joint detection threshold setting interface
Figure 9.26-3 Program preview interface
Figure 9.26-4 lua script program example interface
9.26.2.2. TCP detection threshold function setting instructions
9.26.2.2.1. Parameter setting instructions
Step1: In the control command interface, select the “collision detection” function, as shown in Figure 5. Click “collision detection on”, and select “TCP only” under the detection status bar. According to actual needs, modify the input value of the X-RZ direction, the value range is, and the unit is N. In this mode, modifying the joint threshold of J1-J6 does not take effect. According to actual needs, select “non-blocking” or “blocking” for blocking. Click the Add button to complete the opening instruction addition.
Step2: Click “collision detection off”, click the Add button, and complete the closing instruction addition. The program preview interface is shown in Figure 6, click the “Apply” button to complete the function addition.
Note
The custom collision detection threshold function is a set of instructions, which needs to be closed in time after opening.
Figure 9.26-5 TCP detection threshold setting interface
Figure 9.26-6 Program preview interface
Step 3: Add corresponding motion instructions in the collision detection function, as shown in Figure 7.
Figure 9.26-7 lua script program example interface
9.26.2.3. Joint and TCP detection threshold function setting instructions
9.26.2.3.1. Parameter setting instructions
Step 1: In the control instruction interface, select the “collision detection” function, as shown in Figure 8. Click “collision detection on”, and select “joint and TCP” under the detection status bar. According to actual needs, modify the input values of J1-J6 and X-RZ directions. The value range of J1-J6 is, the unit is NM; the input value of X-RZ direction is, the unit is N. According to actual needs, select “non-blocking” or “blocking” for blocking. Click the Add button to complete the instruction addition.
Figure 9.26-8 Joint and TCP detection threshold setting interface
Step2: Click “Close Collision Detection”, click the Add button, and the closing command is added. The program preview interface is shown in Figure 9. Click the “Apply” button to complete the function addition.
Note
The custom collision detection threshold function is a set of instructions, which needs to be closed in time after opening.
Figure 9.26-9 Program preview interface
Step 3: Add corresponding motion instructions in the collision detection function, as shown in Figure 10.
Figure 9.26-10 lua script program example interface