Set force guide object(s)

Force guidance function indicates the specific processes such as a specific motion including the force control function or conditional branching as a force guide object. Align processes (force guide objects) in a container (force guide sequence) to realize a specific operation.

In the force guidance function, you can create a force guide sequence by combining the ten types of general force guide objects and the six types of the system force guide objects. however, system force guide objects can only be used in system sequences.
Operation using the force control function can be divided into the following five basic motions:

"Contact", "Follow", "Align", "Probe", "Press"

Force guide object can be divided into seven categories: the above five basic motions, "Run" which is a processing other than the force control function, and "System" aligned in the system force guide sequence automatically. In addition, some force guide objects run more than two basic motions simultaneously.

  • Contact
    Motion to move the robot from a non-contact state until it touches an object, then stops in the contact position. Use this motion to detect a position of workpiece. Contact object performs the contact motion.

  • Follow
    Motion to repeat the applied force and torque to adjust a position. Use this motion to move the robot to a position where the applied force will be "0". Relax object and FollowMove object perform the follow motion.

  • Align
    Motion to adjust the position or orientation of a workpiece that will be grasped, pressed against a target object, and aligned with its shape or orientation. Use this motion to align a workpiece to be grasped with an object. SurfaceAlign object performs the align motion.

  • Probe
    Motion to detect a hole or a step on an object. Use this motion to detect a hole or a step. The PressProbe object and ContactProbe object perform the probe motion.

  • Press
    Motion to keep applying a certain amount of force and torque to an object. Use this motion to apply a certain amount of force and torque to an object. The Press object and PressMove object perform the press motion. Also, in the operation using the force control function, especially the press motion often presses and follows to different directions simultaneously. Insertion operation of workpiece, for instance, presses to insertion direction and follow two directions perpendicular to the insertion direction. Therefore, the Press object and PressMove object can perform the press and follow motions in different axes at the same time.

  • Execution
    Processing other than the force control. The following objects perform it:

    • Decision Object
      Force guide object which performs conditional branching.
    • SPELFunc Object
      Force guide object which executes functions of SPEL+ programs.
  • System
    An object is placed automatically when the system force guide sequence is created. This applies to the following objects.

    • Paste Object
      An object that presses in the specified direction while aligning the surface of the workpiece being gripped with the surface of the target object.
    • ScrewTighten Object
      An object used to tighten screws using an electric screwdriver.
    • ScrewRetighten Object
      An object used to first loosen, then retighten a screw tightened with an electric screwdriver.
    • HeightInspect Object
      An object used to stop the robot upon contact with a target object when moving in a specified direction, and to measure and inspect the height of the object it has come into contact with.
    • Insert Object
      An object used to insert a workpiece.
    • TensileTest Object
      An object used to confirm that an inserted workpiece (a connector, etc) cannot be removed by applying a force in the direction of or opposite to the direction of insertion.

The following is a list of categories and force guide objects.
For more details on each object, refer to the following section.
General force guide object
Paste Object
ScrewTighten Object
ScrewRetighten Object
HeightInspect Object
Insert Object
TensileTest Object

Category
Object name
Description
Contact Contact Move the robot to the specified direction and stop it when contacting with the object.
Follow Relax Adjust the position of the robot so that the applied force and torque to the specified axis will be "0".
FollowMove While moving the specified trajectory, adjust the position of the robot so that the applied force and torque to the specified axis will be "0".
Align SurfaceAlign Align a surface of the grasped workpiece with that of the object.
Probe PressProbe Detect a hole or a step on the object while pressing the grasped workpiece.
ContactProbe Detect a hole on the object while contacting the grasped workpiece.
Press Press Press to the specified axis direction.
PressMove Press to the specified axis direction while moving the specified trajectory.
Execution Decision Processing branches off depending on the success or failure of the object.
SPELFunc Execute a function of the specified SPEL program.
System Paste Aligns the surface of the workpiece being gripped with the surface of the target object, and presses in the direction specified. . This is placed automatically when the Paste sequence is created.
ScrewTighten Tightens screws using an electric screwdriver. This is placed automatically when the ScrewTighten sequence is created.
ScrewRetighten Loosens, then retightens a screw tightened with an electric screwdriver. This is placed automatically when creating the ScrewTighten sequence with the screw retightening option enabled.
HeightInspect Stops the robot upon contact with a target object when moving in a specified direction, and measures and inspects the height of the object. This is placed automatically when the height inspection sequence is created.
Insert Inserts the workpiece. This is placed automatically when the Insert sequence is created.
TensileTest This confirms that an inserted workpiece cannot be removed by applying a force in the direction opposite to the direction of insertion after the insertion of a connector, etc. This is placed automatically when creating the Insert sequence with the tensile test option enabled.

Force guide object has properties and results.

  • Properties
    Generally speaking, properties affect force guide objects. For example, there is a property which sets a motion direction.
  • Result
    Display the result of force guide object in [Value].

Set force guide objects by the following steps:

  • Step 3-1. Break down an operation into force guide objects
  • Step 3-2. Align force guide objects
  • Step 3-3. Set properties of force guide objects

Step 3-1. Break down an operation into force guide objects

Decide a force object to be used depending on operations which you want to realize by using force guide sequence.

The following describes the basic concept. Please be aware that some operations, such as complex operations, may not be applied to the basic concepts. Note that this Step can be skipped when using a system force guide sequence as system force guide objects are placed automatically. However, as system force guide sequences are purposely built as general operation sequences, you may need to add your own force guide objects in your own operations.

Begin by breaking down the operations that you want your force guide sequence to perform into categories ("Contact" "Follow" "Align" "Probe" "Press"). If you want to perform consecutive motions such as performing a "Press" motion after a "Follow" motion, divide the operation into two processes. Divide processes into a single category as much as possible. However, if you want to perform two categories simultaneously, temporary divide into either category depending on the major objective. For example, when moving a robot without considering a contact state, think how many Move commands will be used. Then, divide them into a category.

Next, use the following five flow charts to decide a force guide object.
"Contact"
image

"Follow"
image
*1: This is when the robot Follows while moving along the specified trajectory. Select "No" when the robot moves by the force control function.

"Align"
image

"Probe"
image
*1: Select "No" if workpieces such as lead parts get damaged or deformed by performing the PressProbe motion.
*If you considered "Contact" as a preceding process, delete it.

"Press"
image
*1: This is when the force control function is used while the robot is moving along the specified trajectory. Select "No" when the robot moves by the force control function.
*2: This is when you need to set the speed depending on the workpiece or tool. Normally, select "No". For example, when performing screw driving by using an electric screw driver, select "Yes" since the speed to the pressing (screw insertion) direction is set by screw's pitch and rotation speed of the driver.

Example: Break down the pressing operation with a certain amount of force into force guide objects
It is an operation to press an object after contacting it. You can divide it into "Contact" and "Press" processes.
"Contact" will be the Contact object since there is no other category which is executed simultaneously.
"Press" will be the Press object because there is no other category which is executed simultaneously and because "Press" moves in the pressing direction only and does not set a movement speed for the pressing direction.
Example: Break down the Peg In Hole task into force guide objects
It is an operation to perform the following motions: Probe a hole after contacting an object → follow it while adjusting → press to the hole direction →and insert To perform "Follow" and "Press" simultaneously, consider them as a single process. Temporarily classify it as "Press" since a major objective is insertion.
You can divide it into three processes: "Contact", "Probe", and "Press".
"Contact" will be the Contact object since there is no other category which is executed simultaneously.
"Probe" will be the PressProbe object because there is no other category which is executed simultaneously, because the Probe target is a hole (so it is possible to probe while pressing a workpiece), and because it is in the contact state when the object is started.
"Press" will be the Press object because the Follow category is executed simultaneously and because "Press" moves in the pressing direction only and does not set a movement speed for the pressing direction.
Example: Break down a connector insertion operation into force guide objects
It is an operation to perform the following motions: Contact an object → probe a hole → follow it while adjusting → press to the hole direction → and insert.
To perform "Follow" and "Press" simultaneously, consider them as a single process. Temporarily classify it as "Press" since a major objective is insertion.
You can divide it into three processes: "Contact", "Probe", and "Press".
"Contact" will be the Contact object since there is no other category which is executed simultaneously.
"Probe" will be ContactProbe object according to the following reasons. There is no other category which is executed simultaneously. Probe target is a hole. It is not possible to probe while pressing a workpiece and it is a contact state when starting the object.
Also, since it starts with the non-contact state, delete the preceding process: "Contact".
Although this operation was initially divided into three processes, it actually has two processes ("Probe" and "Press"), because "Contact" is deleted.
"Press" will be the Press object because the Follow category is executed simultaneously and because "Press" moves in the pressing direction only and does not set a movement speed for the pressing direction.
Example: Break down a screw driving operation by using an electric screw driver into a force guide object.
It is an operation to perform the following motions: Contact an object → follow it while adjusting → press to the hole direction → and insert.
However, screw may fall out when pausing after contacting with an object. Therefore, consider as a single process such as following while contacting an object, and press it. Temporarily classify it as "Press" since a major objective is insertion. This operation can be considered as a single process: "Press".
"Press" will be the PressMove object because the Contact and Follow categories are executed simultaneously and because "Press" moves in the pressing direction only and sets a movement speed for the pressing direction.

The following additional descriptions are for users who understand the force functions using SPEL+ programing.
Motions of the force guide objects with five basic motions consist of the force control function, position control, and end conditions. In each object, what you need for the motion can be selected or is set automatically. The following is a list of force guide objects:

Category Object name

Force control function

A: Optional

B: Set automatically

Position control

A: Execute simultaneously

B: Execute separately

End condition

A: Optional

B: Set automatically

Press Follow Force Position I/O
Contact Contact A (1-axis only) - - B - -
Follow Relax - A (All axes) - A A A
FollowMove - A (All axes) A - A A
Align SurfaceAlign A (translation, 1-axis only) B *1 - A - -
Probe PressProbe A (translation, 1-axis only) - A A *2 A *2 -
ContactProbe A (translation, 1-axis only) - B *3 B B -
Press Press A (All axes) A (All axes) - A A A
PressMove A (All axes) A (All axes) A A A A
Execution Decision - - - - - -
SPELFunc - - - - - -
System Paste A (1-axis only) B - B B -
ScrewTighten A (1-axis only) B A *4 B B B
ScrewRetighten B (Same direction as ScrewTighten) B A B B B
HeightInspect A (1-axis only) - - B B -
Insert A (1-axis only) B A *4 B B -
TensileTest B (Reverse direction of Insert) - - B B -

*1: The rotational directions are set for the two axes which are perpendicular to the axis which is set for the pressing direction.
*2: One or the other must be enabled.
*3. Use position control for the depart motion, as well as the next movement to the contact start position. It cannot be executed with the force control function simultaneously.
*4: In the middle of the operation, the simultaneous execution with the position control is switched to the force control function only.

Step 3-2. Align force guide objects

Force guide objects are selected and aligned on the [Force Guide] window. Align the force guide objects which are set in Step 3-1 in order.

If a template is selected when creating a force guide sequence, you do not need to align the force guide objects. Depending on an operation, you can add force guide objects to the template or delete the force guide objects.

When you select the system force guide sequence when creating the force guide sequence, you do not need to align the force guide objects. The system force guide objects required for each sequence are automatically aligned. The aligned system force guide objects cannot be deleted or moved. You can also add the general force guide objects if the additional motion is required.
For more details on the creation steps, refer to the following section.
Software [Force Guidance] (Tools Menu)

Step 3-3. Set properties of force guide objects

Set properties of the force guide objects. You need to set properties depending on an operation. You can set the properties of the system force guide object in the sequence wizard.

For more details on each property, refer to the following section.
General force guide object
Paste Object
ScrewTighten Object
ScrewRetighten Object
HeightInspect Object
Insert Object
TensileTest Object

For more details on each property, refer to the following section.
Software [Force Guidance] (Tools Menu)
The following describes some concepts that you should know when setting properties of the force guide object.

Basic robot motion when executing force control function
Force control function maintains force or toque in the specified value. To maintain the value, the robot moves to a position where the force will be applied. Therefore, if you use a force control function which specifies "Press" in the non-contact state, the robot moves toward the position where the force is expected to be applied.

Force direction and robot motion direction
Force Sensor detects the applied force.
In the example below, the robot presses a workpiece to vertical-downward (the direction shown as a red arrow). Since the force is balanced, the reaction force (blue arrow) is applied to the robot while the robot applies the action force (red arrow).
image
Force Sensor is a sensor to detect the reaction force. Be careful that the direction between the robot motion direction and the pressing force/detection force to be set are always opposite.
For example, if you specify Press+ (pressing in the positive direction) in the Press object's Fx_ControlMode, you need to set a negative value to Fx_PressForce. The force recorded as the motion result will also be a negative value.

Firmness of force control function (Firmness)
Force guidance function indicates the firmness of the force control function in Firmness property.
Actual property name is different depending on the force guide object such as ContactFirmnessF or Fx_Firmness. Features are the same.
The following describes the common concepts of the Firmness property.
When the Firmness property is large, force control function will be firm and reaction will be slow.
When the Firmness property is small, force control function will be soft and reaction will be fast. However, if the Firmness property is too small, the robot motion may vibrate.

As shown in the figures below, the robot starts the motion above the object and presses the grasped workpiece with 10 [N]. Use this operation as an example and describe effects of the Firmness property.
The following is a graph of force when fixing other properties and executing with the both large and small values of the Firmness property.
image
image
In the non-contact state, when the Firmness property is smaller, the movement speed will be faster. Therefore, the time to contact with an object will be shortened and the time to start rising up the waveforms in the graph will be different. Since the contacting speed is fast, overshoot of the force will be large. Time to reach a target force will be shortened, however, vibrations may be generated.
An ideal force change by using the force control function is the green line (ideal waveform) in the graph. The force does not overshoot when contacting and become a target force immediately, and it is stable. However, it is not possible to realize the ideal force change in actual operation since the relation between the overshoot or vibrations of the force and the cycle time is a trade-off. Please perform proper adjustments for your operations.

Relationship between the Firmness property value and the force when executing changes with the environment (robot, hand, workpiece, position). Therefore, you need to adjust each force guide object in the actual environment. We recommend setting a large value for the initial state of the Firmness property, then adjusting it by gradually decreasing the value (e.g. in increments of 10%).

The Firmness value can also be adjusted in the Firmness Wizard. The following section describes the procedure for adjusting Firmness using the Firmness Wizard.

  1. Click the image button on the right side of the Firmness property.
    The [Firmness Wizard] window is displayed.
    image

  2. Click the [Teach…] button.
    The [Teach Approach Point] dialog box is displayed.
    Move the workpiece until it is 1 mm above the object to be pressed.
    image

  3. Click the [OK] button.
    This will save the current position and return you to the [Firmness Wizard] window.
    Set the max force, or torque tolerated under [Motion and Force].
    When the Firmness Wizard is set in the motion following direction, set the force or torque that is expected to be applied.
    Set the value of trials and the maximum time per trial for [Firmness], as well as the Firmness range using the sliders.
    When starting adjustments, set a slider to the hard side, and then adjust using measured waveforms for force or torque.
    image

  4. Click the [Execute] button. A confirmation dialog box is displayed.
    Check that the workpiece in its initial position is within 1 mm of the object to be pressed, and then click [Yes].
    image

  5. The robot will move until the designated axis reaches the target force.
    To stop the robot during movement, click the [STOP] button.
    image

  6. If the robot moves 10 mm or 10 deg or more before reaching the target force or torque, the following dialog box will appear. This could be due to the following.

    • The distance between the workpiece in its initial position and the object to be pressed is 10 mm or 10 deg or more.
    • The direction of pressing is set to a different direction to that expected.
      To continue the remaining trials, click the [Yes] button. To cancel any remaining trials, click the [No] button.
      image
  7. Adjust the sliders so that the measured data for force or torque approaches an acceptable waveform for the operation being performed, and then click the [Execute] button.
    Repeatedly change the slider range and execute this process until arriving at an ideal waveform.
    When the waveform is vibratory or not set to the target force, move the slider to the Hard side. When the waveform is too gentle, move the slider to the Soft side. When you move the slider too much, the force applied may change significantly. Move the slider gradually.
    image

  8. Click the [Next] button.
    The Firmness values before and after appearing here.
    To save a new value, click the [Finish] button. To cancel, click the [Cancel] button.
    image