top of page

9.31. Protection Based on 6-Axis Force Sensor Posture Compliance Function

9.31. Protection Based on 6-Axis Force Sensor Posture Compliance Function

9.31.1. Overview

Current FR robots have no maximum adjustment angle limit in posture compliance function under constant force FT_Control. When the 6-axis force sensor receives external torque, the robot end will continuously deviate, which may cause hazards.

This enhancement adds maximum adjustment angle limit on top of the FT_Control posture compliance function, allowing custom threshold setting to make posture compliance smoother.

9.31.2. Operation Procedure

Step1: Click “Initial Setup”->”Basic”->”Coordinate System”->”Tool” to enter the tool coordinate system setup interface. Select “Coordinate System Name” and configure parameters for the end tool coordinate system.

Figure 9.31-1 Tool Coordinate System Setup

Step2: Click “Teach Programming”->”Program Editing” to write constant force control Lua script. Select “Force Control Set”->”Control”, add force control motion command, set “Posture Compliance” to ON, and configure maximum adjustment angle as the threshold.

Figure 9.31-2 Force Control Motion Command

Step3: On web interface click “FT” to set 6-axis force sensor reference coordinate system. Select reference coordinate system as “Custom Coordinate System” and configure corresponding parameters. When posture compliance adjusts around tool coordinate system, set reference coordinate parameters to “0”; when adjusting around end flange coordinate system, set parameters to match the end tool coordinate system.

Figure 9.31-3 Setting 6-Axis Force Sensor Reference Coordinate System

Step4: Run the script to observe posture compliance effect. The adjustment angle under constant force will be limited within the custom maximum adjustment angle range.

9.32. Socket Communication Interface Function

9.32.1. Socket Configuration

When using the Socket communication interface function, after the robot is powered on, you need to first access the web page to configure the Socket protocol. The configuration is saved after power-off.

Click “Teach Program” - “Program Editing”, then click “Socket Network Debugging” in the upper right menu bar to enter the Socket configuration interface. Click “Add Socket” to configure Socket parameters. Up to four Sockets can be added.

Figure 9.32-1 Socket Network Debugging Interface

Figure 9.32-2 Socket Configuration Parameters Interface

9.32.1.1. Communication Parameter Settings

The communication protocol supports UDP, TCP server, and TCP client.

Data types support both ASCII and HEX. After configuring the data type, all data transmission and reception for that Socket connection will be processed according to the configured type.

9.32.1.2. Heartbeat Detection Mechanism

The heartbeat detection mechanism is only applicable to TCP server and TCP client.

The heartbeat detection mechanism uses the Keepalive mechanism to detect and maintain the active state of the connection, preventing accidental interruption of long-idle connections. It mainly includes the following parameters:

  • Probe interval: How long to wait before sending keepalive probe packets (in seconds);

  • Probe time: Interval between probe packets (in seconds);

  • Probe count: Maximum number of probe packets to send.

9.32.1.3. Reconnection Mechanism

The reconnection mechanism is only applicable to TCP client.

When the reconnection mechanism is enabled and the TCP client detects a server disconnection upon startup, it will actively attempt to reconnect. If the connection cannot be established after reaching the maximum reconnection attempts, the connection will be dropped. It mainly includes the following parameters:

  • Reconnection interval: Reconnection interval time (in ms, recommended to be in seconds);

  • Maximum reconnection attempts: Maximum number of reconnection attempts.

9.32.1.4. Custom Protocol Parsing

When custom protocol parsing is enabled, the transmitted and received data will be encapsulated or parsed according to the protocol configuration.

Custom protocols can be automatically generated based on configuration parameters. In ASCII mode, frame header, frame count, data length, and frame tail combinations are supported. Delimiters can be used for data segmentation. In HEX mode, frame header, frame count, data length, checksum method, and frame tail combinations are supported.

Figure 9.32-3 ASCII Mode Custom Protocol Configuration

Figure 9.32-4 HEX Mode Custom Protocol Configuration

After configuring the custom protocol, click the “Generate” button to automatically generate the corresponding Lua file. The Lua file supports import and export functions. The protocol type can be flexibly configured by modifying the file code.

9.32.2. Socket Connection

9.32.2.1. Interface Connection Display

After configuring Socket information, the Socket connection can be established. The connection status includes the following three states:

  • White: Connection not established.

Figure 9.32-5 Disconnected State

  • Yellow: TCP server waiting for connection or TCP client requesting connection.

Figure 9.32-6 Waiting for Connection State

  • Green: Connection successful.

Figure 9.32-7 Connected State

9.32.2.2. Connection Command Module

Click “Teach Program” - “Program Editing” - “Communication Commands”, select “Socket” command to generate commands for opening and closing Socket connections for Lua programming. SocketID can only select already configured Socket connections.

Figure 9.32-8 Socket Connection Command Module

Command details:

  • Open connection command: OpenSockeConnect(id);

  • Parameter id: Pre-configured socket ID, return value 0 for success;

  • Close connection command: CloseSockeConnect(id);

  • Parameter id: Pre-configured socket ID, return value 0 for success.

9.32.3. Socket Communication

9.32.3.1. Communication Testing

The interface provides communication testing for data transmission and reception testing, as shown in Figure 3-1 below.

Figure 9.32-9 Communication Testing

The interface sends data in blocking mode by default, waiting for motion completion before sending data. The default data reception timeout is 5 seconds, after which an error will be reported and stopped. These parameters can be adjusted when issuing commands.

9.32.3.2. Communication Command Module

Click “Teach Program” - “Program Editing” - “Communication Commands”, select “Socket” command to generate Socket communication commands for data transmission and reception in Lua programming. SocketID can only select already configured Socket connections for sending data.

Figure 9.32-10 Sending Socket Data

Command parameters are Socket ID, data to send, and whether to wait for motion completion.

Command details:

  • Send command: SocketSend(id,data,block);

  • Parameters: id, connected socket ID; data: data to send (string format), content must match the configured data type, such as “hello” or “FA54DE”; block: whether to block motion (0: wait for motion completion before sending, 1: send immediately). Return value 0 for success.

Receiving data is shown below.

Figure 9.32-11 Receiving Socket Data

Command parameters are Socket ID, reception timeout (in milliseconds), and post-timeout strategy.

Command details:

  • Receive command: SocketReceive(id,timeout,stopStartegy);

  • Parameters: id, connected socket ID; timeout: reception timeout; stopStartegy: post-timeout strategy (0: report error and stop after timeout, 1: continue running after timeout);

  • Return values: time: reception time, data: received data.

9.33. Impedance Control Function During Robot Motion

9.33.1. Overview

The impedance control function enables real-time detection of external forces. When the set threshold is reached, it actively complies with the external force, deviates from the motion trajectory, and returns to the motion trajectory after the external force drops below the threshold, thereby achieving better human-robot interaction. When an external force exceeding the preset force threshold is detected, this function drives the robotic arm to generate an offset in the direction of the force, achieving an active avoidance effect. After the external force is removed, the robotic arm returns to the vicinity of the original motion trajectory, thus enhancing safety during human-robot collaboration.

9.33.2. Impedance Control Function

9.33.2.1. Impedance Control Configuration and Function Start/Stop in Cartesian Space

Step1: Log in to the web interface, sequentially click “Initial Settings” → “Basic” → “Joints” → “Collision Level” to enter the robot collision level setting module, and set a reasonable collision coefficient, as shown in Figure 2-1.

Figure 9.33-1 Robot Collision Coefficient Setting Module

Step2: To use a force sensor to implement the impedance control function, the force sensor must be configured in the end effector peripheral configuration under “Peripherals” → “End Effector”. If choosing not to use a force sensor to implement the impedance control function, this step is not required.

Step3: Sequentially click “Teach Program” → “Program Programming” → “Force Control Set”, and add the “Impedance” command. The “Impedance” command enables the robot to implement impedance control on the running trajectory (Currently, only impedance control in Cartesian space is available).

Figure 9.33-2 Adding Force Control Command

Step4: In the force control command module, select “Cartesian Space” from the space selection dropdown menu. Set appropriate values in the text boxes for force threshold, mass coefficient, damping coefficient, stiffness coefficient, maximum linear velocity, maximum linear acceleration, maximum angular velocity, and maximum angular acceleration. Click “Enable” under command type, then click “Add” to add the impedance control enable command; click “Disable” under command type, then click “Add” to add the impedance control disable command.

Figure 9.33-3 Impedance Control Command Example

Step5: During operation, if the robotic arm stops running and the lower left corner of the Web interface displays “500 Error: Current collision level is too low”, this is because the set force threshold is greater than the trigger threshold of the collision level. At this point, increasing the collision level or decreasing the force threshold will resolve this error.

Figure 9.33-4 Collision Level Too Low Warning

Step6: During operation, if the robotic arm stops running and the lower right corner of the Web interface displays “Collision Fault”, this is because the external force on the robotic arm has exceeded the trigger threshold of the collision level, thereby triggering a collision fault.

Figure 9.33-5 Collision Fault Warning

Specific Functions and Recommended Values of Parameters:

  • Space Selection: Sets the operational space for impedance control. Currently, only Cartesian space impedance control is available.

  • Force Threshold: The minimum trigger force for impedance control. The range for the translational direction force threshold is 30–150N, and for the rotational direction force threshold is 7–30Nm.

  • Mass Coefficient: Increasing the mass coefficient will cause the offset to be slower, decreasing it will cause the robot offset to be too fast. The range for the translational direction is [0.01-1], recommended value is 0.04; the range for the rotational direction is [0.001-1], recommended value is 0.01.

  • Damping Coefficient: Increasing the damping coefficient will cause the offset to be slower, decreasing it will cause the robot offset to be too fast, resulting in oscillation. The range for the translational direction is [0.1-2], recommended value is 0.1; the range for the rotational direction is [0.008-1.5], recommended value is 0.08.

  • Stiffness Coefficient: Increasing the stiffness coefficient will cause the offset to be slower. Recommended value is 0.

  • Maximum Linear Velocity: Limits the velocity generated by external forces in the translational direction. Recommended value is 250mm/s.

  • Maximum Linear Acceleration: Limits the acceleration generated by external forces in the translational direction. Recommended value is 500mm/s².

  • Maximum Angular Velocity: Limits the angular velocity generated by external forces in the rotational direction. Recommended value is 90°/s.

  • Maximum Angular Acceleration: Limits the angular acceleration generated by external forces in the rotational direction. Recommended value is 180°/s².

9.34. Custom Weaving Welding Function

9.34.1. Overview

The custom weaving welding function allows the execution of weaving using a pattern designed by the user.

Description of the Custom Weaving Welding Function:

  • In the weaving parameters interface, select any one of the weaving types: “Custom Weave 0”, “Custom Weave 1”, or “Custom Weave 2”. A maximum of 3 custom weaving patterns can be set.

  • The number of custom weaving endpoints can be set to a maximum of 10 and a minimum of 2. The X, Y, Z data of the last endpoint is fixed at 0 and cannot be modified, though the dwell time for all endpoints can be set.

  • The X, Y, and Z values of the custom weaving endpoints must be within the range of -10mm to 10mm, and the weaving frequency must not exceed 10 Hz.

  • Currently, linear, circular, and full-circle trajectories support custom weaving welding, but the weaving gradient function is not yet supported.

  • Note: When the weaving dwell time is set to “Include”, the total weaving dwell time must not exceed half of the weaving cycle time.

9.34.2. Operational Procedure for Custom Weaving Welding Function

The operational procedure for the custom weaving welding function is as follows:

Step 1: First, record the start and end teach points of the linear trajectory. Then, click “Teach Program” -> “Program Editing”, select “Point to Point” to move the robot end to the linear start point “custWeaveP1”. Finally, select “Linear” to move the robot to the linear end point “custWeaveP2”.

Step 2: Select the “Weaving” button, click the weaving process editing button to enter the weaving parameters setting interface. Select “Custom Weave N” (N=0, 1, 2) for the “Weaving Type”.

Chart 9.34-1 Weaving Parameters Setting Interface

Step 3: After selecting the “Weaving Type”, scroll down in the weaving parameters setting interface. In this interface, select the number of custom weaving endpoints, set the position and dwell time of each point in the weaving coordinate system, and finally click the “Configure” button.

Chart 9.34-2 Custom Weaving Setting Interface

Step 4: In the weaving interface, sequentially select “Start Weaving” and “Stop Weaving” in the “Command Type” dropdown, click the “Add” button, and finally click the “Apply” button.

Chart 9.34-3 Weaving Command Setting Interface

Step 5: In the program editing interface, select the weaving start command, click the “Move Up” button at the top of the interface, and finally save the program. Switch the robot to automatic mode and click the “Start” button. The robot will then begin custom weaving along the linear trajectory.

Chart 9.34-4 Original LUA Command Interface

Chart 9.34-5 Modified LUA Command Interface

Step 6: The steps for setting up custom weaving for circular and full-circle trajectories are the same as Step 1 to Step 5 above.

9.35. Teach point configuration

Click “Points Config.” to enter the teaching point configuration interface.

Before using the button box or other IO signals to record the teaching point function, the user first configures the teaching point name prefix, the upper limit of the number and the teaching method. The name prefix supports two modes: custom prefix and current program name as the prefix. For example, customize the name prefix “P”, number upper limit “3”, teaching method “robot teaching”, record the current end (tool) points of the robot in sequence: P1, P2, P3, and record again will overwrite the previous record points.

Chart 9.35-1 Teach point configuration

9.35.1. End-point dot automatic overwrite update Lua program function

9.35.1.1. End-point dot configuration

  1. Enable the end-point dot function and click on settings. You can use the switch to select the Lua programs that need to be updated for specific positions.

Chart 9.35‑2 Enable end point recording

  1. The configuration is complete, with the end-tip dot name prefixed as “test”, the numbering limit set to 10, and all Lua programs selected for enabling updates. Close the webApp, and the function remains active.

9.35.1.2. End-button dot automatic update Lua program

  1. Click the robot end-point dot button.

Chart 9.35‑3 end-point dot button

  1. At this point, the end-tip LED flashes: with the purple light flashing (start) -> blue light on (dot recording and updating in Lua) -> green light on (dot recording completed), and the position information corresponding to the selected Lua program’s name is synchronized and updated.

Chart 9.35‑3 End-tip dot recording and updating Lua program LED changes

  1. When the dot recording fails, the end-tip LED flashes: Purple light flashing (start) -> Red light flashing (dot recording failed) -> Green light on (returning to normal).

Chart 9.35‑4 LED changes when end-tip dot recording fails

9.35.1.3. Function usage example

  1. Click on Auxiliary Applications - Tool Applications - Teaching Point Configuration, customize the prefix to “test”, set the number limit to 5, select Robot Teaching as the teaching method, enable the end-point dot function, and click on settings.

  2. Activate the Lua program “program1” that requires position updates.

Chart 9.35‑5 Teaching Point Configuration

  1. As shown below, it depicts the “program1” program and its current running trajectory.

Chart 9.35‑6 Program1 program and its current running trajectory

  1. Switch the page to manual mode, move the robot to a new position, click the end-tip dot button, and wait for the end-tip LED to complete its flashing sequence: Purple light flashing (start) -> Blue light on (dot recording and updating in Lua) -> Green light on (dot recording completed), at which point the recorded position is labeled as test1.

  2. Repeat step 4 to record positions “test2,” “test3,” “test4,” and “test5,” completing the recording of 5 points. At this stage, the positions for the “program1” program have been synchronized and updated.

  3. Re-run the “program1” program. The motion trajectory will have been updated, and the updated motion trajectory is shown below.

Chart 9.35‑7 Updated running trajectory

9.36. Main program configuration

Click “Main program” to enter the main program configuration function interface.

The configuration of the main program can be used in conjunction with the DI configuration of the main program startup. The configured main program needs to be trial run first to ensure safety. After configuring the corresponding DI in the robot settings to start the main program signal function, the user can control the DI signal to run the main program.

Chart 9.36‑1 Main program configuration

9.37. Robot Extended Axis Intersecting Line Welding

9.37.1. System Configuration

Figure 9.37‑1 Robot Extended Axis Intersecting Line Welding System Configuration

In the system, (a) is the computer, (b) is the robot and its control box, (c) is the positioner and drive equipment, (d) is the welder and supporting equipment.

9.37.2. Extended Axis Communication Configuration

The communication methods between the robot and the extended axis include using UDP or RS485.

Figure 9.37‑2 Extended Axis Configuration Page

Click “Initial Setup”, “Peripherals”, “Extended Axis” on the robot operation interface to enter the extended axis configuration page. Taking using a PLC connected to the robot via UDP communication as an example, click the “UDP Communication” icon to enter the extended axis configuration page for UDP communication.

Figure 9.37‑3 UDP Communication Configuration Interface

On the extended axis configuration page for UDP communication, you can select the corresponding extended axis number, connect and configure UDP communication parameters (address, port, cycle, packet loss detection, etc.), and the extended axis positioning completion time.

Extended axis configuration content is not the focus of this function introduction. For detailed configuration, refer to the corresponding section of the user manual.

9.37.3. Welder Connection Configuration

Configure the welder through the following configuration page:

Figure 9.37‑4 Welder Configuration Page

Welder communication can use IO communication or RS485 communication. Click “Initial Setup”, “Peripherals”, “Welder” to enter the configuration and connection interface, where you can configure modules such as “Control Type”, “I/O Configuration”, “Welding Process Parameters”, “Welder Debugging”, etc.

Welder configuration content is not the focus of this function introduction. For detailed configuration, refer to the corresponding section of the user manual.

9.37.4. Tool Coordinate System Calibration

After installing the welding torch on the robot end, calibrate the welding torch:

Figure 9.37‑5 Tool Coordinate System Configuration Page

Click “Initial Setup”, “Basic”, “Tool Coordinates” to enter the tool coordinate system settings page.

Figure 9.37‑6 Select the 6-Point Method to Calibrate the Welding Torch

Select an empty coordinate system, choose the tool type as “Tool”, select the 6-point method to calibrate the welding torch tool. It is recommended to calibrate the posture of the tool coordinate system as shown in Figure 4-3 below.

Figure 9.37‑7 Welding Torch Coordinate System Posture Diagram

Tool coordinate system calibration content is not the focus of this function introduction. For detailed calibration methods, refer to the corresponding section of the user manual.

9.37.5. Intersecting Line Welding Function

There are two forms of trajectory motion for intersecting line welding: one is using a two-degree-of-freedom L-type positioner for intersecting line motion, and the other is performing intersecting line motion directly without using a positioner.

9.37.5.1. Extended Axis Coordinate System Calibration

When using the extended axis coordinate system to achieve synchronized motion between the positioner and the robot, the extended axis coordinate system needs to be calibrated.

Figure 9.37‑8 Extended Axis Coordinate System Settings Page

Click “Initial Setup”, “Peripherals”, “Extended Axis” to enter the extended axis coordinate system settings interface. Select the extended axis number that needs to be set, click the edit button, select “1-Two-degree-of-freedom L-type Positioner” and save.

Figure 9.37‑9 Extended Axis Calibration Page

When calibrating the extended axis, pay attention to select “Robot Position Relative to Extended Axis” as “Outside Extended Axis”. For the positioner case, select the 4-point method for calibration.

Extended axis calibration content is not the focus of this function introduction. For detailed calibration methods, refer to the corresponding section of the user manual.

9.37.5.2. Intersecting Line Trajectory Welding

Based on the taught points recorded on the cross-sections of the main pipe and the branch pipe, a workpiece coordinate system as shown in the figure below can be established. The origin of the coordinate system is located at the intersection point of the main pipe and branch pipe axes, the X-axis is parallel to the main pipe axis pointing towards the section where the taught points are recorded, and the Z-axis is parallel to the branch pipe axis pointing towards the plane where the taught points are recorded.

Figure 9.37‑10 Intersecting Line Trajectory Workpiece Coordinate System

9.37.5.2.1. Method Without Using a Positioner

Step 1: Record 6 taught points on the cross-section of the main pipe and the cross-section of the branch pipe respectively.

Step 2: Click “Teach Program”, “Program Programming”, find “Intersecting Line” in the “Motion Instructions”, and enter the intersecting line trajectory settings page.

Figure 9.37‑11 Intersecting Line Trajectory Settings Page

Step 3: On the intersecting line trajectory settings page, select “Disable” for “Extended Axis Points”, complete the settings for starting point motion, motion direction, speed and acceleration, and offset value. The counterclockwise motion direction is the direction of the four fingers when the right hand grips the Z-axis of the workpiece coordinate system.

Step 4: In the “Intersecting Line Point Data” section of the intersecting line trajectory settings page, select the recorded taught points. After setting, click the “Add”, “Apply” buttons.

Figure 9.37‑12 Intersecting Line Trajectory Instruction Settings

Step 5: Click the “Welding” button under “Welding Instructions” to enter the welding settings page, select “Arc Start” and “Arc End” instructions, click the “Add”, “Apply” buttons. After successful addition, move the Arc Start LUA instruction up one line.

Figure 9.37‑13 Welding Instruction Settings

The following is a typical LUA program for intersecting line welding without a positioner:

Figure 9.37‑14 No Positioner - Intersecting Line Welding Example Program

9.37.5.2.2. Method Using a Two-Degree-of-Freedom L-Type Positioner

Step 1: Record 6 taught points on the cross-section of the main pipe and the cross-section of the branch pipe respectively, and rotate axes 1 and 2 of the positioner to record 4 positioner taught points.

Step 2: Click “Teach Program”, “Program Programming”, find “Intersecting Line” in the “Motion Instructions”, and enter the intersecting line trajectory settings page.

Figure 9.37‑15 Intersecting Line Trajectory Settings Page

Step 3: On the intersecting line trajectory settings page, select “Enable” for “Extended Axis Points”, select the recorded positioner taught points, complete the settings for starting point motion, motion direction, speed and acceleration, and offset value.

Step 4: In the “Intersecting Line Point Data” section of the intersecting line trajectory settings page, select the recorded taught points. After setting, click the “Add”, “Apply” buttons.

Figure 9.37‑16 Intersecting Line Trajectory Instruction Settings

Step 5: Click the “Welding” button under “Welding Instructions” to enter the welding settings page, select “Arc Start” and “Arc End” instructions, click the “Add”, “Apply” buttons. After successful addition, move the Arc Start LUA instruction up one line.

Figure 9.37‑17 Welding Instruction Settings

The following is a typical LUA program for positioner-based intersecting line welding:

Figure 9.37‑18 Positioner - Intersecting Line Welding Example Program


robotic arm
FAIRINO ROBOTIC ARMS

Contact

Location: 10637 Scripps Summit Court,

San Diego, CA. 92131
Phone: (619) 333-FAIR
Email: hello@fairino.us

© 2023 FAIRINO Proudly created By G2T

bottom of page