Force Sensor C500C
Force Sensor C500C
UMI-R3-510
Force Sensor User Guide
Rev. Revision History Date
ii
PREFACE
This user guide accompanies the force sensor option for CRS robot systems.
It contains general information, specifications, installation instructions,
startup procedures, and basic operation instructions for the force sensor. It
is designed to complement the more general manufacturer’s guide for the ATI
Industrial Automation F/T Sensor.
Before using or installing the force sensor, you should be familiar with all
safety procedures contained in the manufacturer’s guide for the ATI
Industrial Automation F/T Sensor. This ATI guide is included as part of the
force sensor kit.
Contents
CHAPTER 1 .............................................................................. 1
Introducing the Force Sensor .................................................... 1
The Force Sensor ................................................................ 2
Range of Measurable Forces and Torques ............................ 3
Operating Modes ................................................................. 3
CHAPTER 2 .............................................................................. 5
Installing the Force Sensor ....................................................... 5
Installation Requirements ................................................... 6
Installing the Force Sensor .................................................. 7
Testing the Force Sensor ................................................... 10
Calibrating the Force Sensor ............................................. 11
CHAPTER 3 ............................................................................ 13
RAPL-3 Library Commands ..................................................... 13
Operating commands ........................................................ 14
Operating Parameters ....................................................... 19
Detailed Examples ............................................................ 23
CHAPTER 4 ............................................................................ 31
Troubleshooting ..................................................................... 31
Incorrect or Inconsistent Force Data .................................. 32
Inaccurate Sensor Readings .............................................. 32
Application Cannot Communicate With Sensor .................. 33
APPENDIX A........................................................................... 35
Sensor Electronics Configuration ............................................ 35
APPENDIX B .......................................................................... 37
Force Sensor Specifications .................................................... 37
Glossary ................................................................................G-1
Index...................................................................................... I-1
This chapter introduces the force sensor for CRS Robotics A255, A465, and
F3 arms, and discuses the operating modes available. It contains the
following sections:
• The Force Sensor
• Range of Measurable Forces and Torques
• Operating Modes
Operating Modes
The force sensor operates in two modes: force sampling mode and force
control mode.
Before installing the force sensor, ensure that you are familiar with the
manufacturer’s instructions that came with the ATI Industrial Automation
F/T sensor. Review all safety procedures relating to the installation process.
The following sections describe how to install, test, and calibrate the force
sensor.
• Installation Requirements
• Installing the Force Sensor
• Testing the Force Sensor
• Calibrating the Force Sensor
Installation Requirements
To install the force sensor, you need a robot system which is already
installed and configured. The robot system must contain the following
components:
• F3, A465, or A255 arm
• C500C controller
• Computer terminal
Consult the guides that came with your robot system for installation and
configuration instructions.
Required Software
Verify that the following software components are installed on your robot
system:
• Robcomm3 for Windows
• RAPL-3, version 2.4.1113 or higher
Required Tools
You will need the following tools to install the force sensor:
• Metric and Imperial Hex (Allen) keys
• Philips screwdriver
•
Figure 2: ATI FT 15/50 Force sensor mounted on arm
Figure 3: Cable connections between the force sensor and the robot system.
5 Allow extra slack in the cables to relieve strain at the following locations:
• Between the arm elbow and the sensor body
• At the arm shoulder
• Near the base of the robot
where xc, yc, and zc, are the Cartesian coordinates of the center of the
tool with respect to the default origin.
Note: The RAPL-3 library command tool_set can also be used to specify
the tool transform. See the RAPL-3 Language Reference Guide for
more detail.
3 If you have not already done so, transfer the example files to the C500C
controller.
4 Compile and run fcal.r3 by typing:
test> r3c fcal.r3
test> fcal
If you prefer not to use the automated procedure, you can calibrate each
force sensor axis individually with the force_calibrate() RAPL-3 library
command. This and other RAPL-3 library commands are explained in the
following chapter.
Operating Commands
The following RAPL-3 commands allow you to develop programs which
interact with the force sensor.
• force_enable initializes force parameters and sets default scaling,
threshold values, and the force sensor frame type.
• force_calibrate performs a calibration to compensate for the
gravitational force or bias that is sensed as the result of a tool or
payload.
• force_frame_set specifies the frame of reference in which data is
represented.
• linklen_set is used to adjust the link length value for an axis to account
for the length of the force sensor.
• online activates or deactivates RAPL-3 online mode and force tracking.
• tool_set defines the origin and orientation of the tool coordinate system.
force_enable
Description The force_enable command installs the force sensor system by initializing
all force parameters. It is also used to set default scaling, threshold values,
and the force sensor frame type to SENSOR_FR.
Syntax command force_enable(int mode)
force_calibrate
Description This command allows compensation for the gravitational force or bias sensed
as a result of a tool or payload. Gravity must be nullified in order for the
robot to exert a specified force in any degree of freedom at any orientation to
gravity. Force calibration is especially important for unbiased force tracking
along compound curves. Calibrate commands can also be used to weigh the
robot payload.
Syntax command force_calibrate(int coordinate)
force_frame_set
Description This command specifies the frame of reference in which force sensor data is
represented.
Syntax command force_frame_set(int frame)
Parameters frame: SENSOR_FR Forces and torques are resolved in the sensor
frame of reference.
WORLD_FR Forces are resolved in the world frame of reference.
Torques cannot be meaningfully represented in the
world frame of reference and are resolved in the
tool frame of reference instead.
TOOL_FR Forces and torques are resolved about the tool tip.
When using this frame of reference it is
particularly important for the tool transform as
well as the link length offset to be set correctly. The
tool transform is set with the tool_set()
command, link length offset is set with
linklen_set().
Returns integer ≥ 0 Success
integer < 0 Failure
linklen_set
Description This command sets the link length for an axis.
Syntax command linklen_set(int link, float length)
online
Description This command activates or deactivates online mode and force tracking.
Force tracking cannot be activated when online mode is set to OFF and is
automatically disabled when a non-straight line move is issued to the robot.
Syntax command online(int option)
force_param_set
Description This command sets the force sensor parameters. The complete list of these
parameters can be found later in this chapter.
Syntax command force_param_set(int index, float value)
Parameters index: Specifies the desired location within the force sensor array.
value: Specifies the desired value of the force sensor variable.
Returns integer ≥ 0 Success
integer < 0 Failure
force_param_get
Description This command gets a force sensor parameter. The complete list of these
parameters can be found later in this chapter.
Syntax command force_param_get(int index, float value)
Parameters index: Specifies the desired location within the force sensor array.
value: Specifies the desired value of the force sensor variable.
Returns integer ≥ 0 Success
integer < 0 Failure
force_data_get
Description This command retrieves all six elements of force data resolved into the
chosen frame of reference.
Syntax command force_data_get(var float[6] data)
Parameters data: An empty 6-element array that will be populated with all six
elements of force data.
Returns integer ≥ 0 Success
integer < 0 Failure
tool_set
Description Sets a tool transform, a redefinition of the origin point and the orientation of
the tool coordinate system.
The default origin is the center of the surface of the mechanical interface
(tool flange).
The tool_set() command has the capacity for a 6 degree-of-freedom
transformation. The origin can be re-defined by translational coordinates: x,
y, and z. The orientation can be re-defined by rotational coordinates: yaw,
pitch, and roll. A cloc data type is used which requires an integer constant
flag followed by float constant coordinates.
Syntax command tool_set(var cloc toolloc)
Notes When defining a tool transform, some of the standard cloc attributes are
ignored. See the commands base_set() and build_cloc() in the RAPL-3
manual for more detail on using cloc variables.
Operating Parameters
The force sensor communicates with the robot program through an array of
parameters which register sensed forces and regulate the relationship
between sensed forces and the forces exerted by the robot. The array
contains 62 elements (0 through 61) and only becomes active when the
force_enable(ON) command is executed.
To operate in force control mode, the variables must specify setpoints and
gains for each degree of freedom. Setpoints specify the desired or target
exerted forces. Gains specify positional corrections to be made according to
deviations from the setpoints.
Gains are usually established during the running of the application and it is
typical to change them often. A qualified application programmer must select
a range of gains that provide suitable arm performance while maintaining a
safe operational state. Refer to the Read or Write Parameters section later in
this chapter.
In the descriptions below, the term force implies both force and torque data.
Thus a sub-array represented by the symbols Fx, Fy, Fz, Tx, Ty, and Tz
indicates force and torque data corresponding to X, Y, Z, Yaw, Pitch, and
Roll. Figure 4 illustrates the positive directions of these forces and torques
according to the right hand rule.
Fz Tz
Yaw
Fy
Tx Ty
R o ll P itc h
Fx
Figure 4: Directions of forces and torques
Read-Only Parameters
Read-only parameters are provided by sensor readings only and not by user
input.
Fr = ( Fx + Fy + Fz )
2 2 2
Tr = (Tx + T y + Tz )
2 2 2
Force gains are in units of inches per oz (millimeter per Newton) and torque
gains are in units of radians per ounce-inch (radians per Newton-millimeter)
When programming an application, start with these recommended values
and gradually decrease or increase them to a level of acceptable performance
and stability.
Warning! Start with the default gain settings and only modify gains for
degrees of freedom required to perform the task. “Stiff” contact between the
robot and objects in its environment can result in deteriorating stability and loss of
control.
Detailed Examples
The following examples illustrate and explain typical RAPL-3 programs
needed to operate the force sensor. The programs initialize the force sensor
interface, perform typical force control procedures, and remove the sensor
interface. All of these programs are included on the force sensor distribution
disk.
Note: None of the force-related commands are available through the
applications shell (ash). It is recommended that you become familiar
with these examples and modify the programs for use with your
specific application.
Table 2: RAPL-3 programs for force sensor operation
Program Purpose
fon.r3 Initializes force sampling mode
force.r3 Displays current sensor readings
track.r3 Initializes force control mode
fcal.r3 Calibrates the force sensor.
guard.r3 Performs a guarded move
guide.r3 Forces a guided teach
foff.r3 Turns off the force sensor
Warning! Start with the default gain settings and only modify gains for
degrees of freedom required to perform the task. “Stiff” contact between the
robot and objects in its environment can result in deteriorating stability and loss of
control.
int units
units_get(units)
if(units == UNITS_METRIC)
linklen_set(4,NEW_METRIC_LINK_4)
else
linklen_set(4,NEW_IMPERIAL_LINK_4)
end if
force_enable(ON)
speed(30)
ready()
finish()
delay(1500)
force_calibrate(WORLD_X)
joint(5,-90)
finish()
delay(1500)
force_calibrate(WORLD_Z)
joint(4,90)
finish()
delay(1500)
force_calibrate(WORLD_Y)
force_frame_set(TOOL_FR)
ctl_rel()
end main
force_frame_set(WORLD_FR)
;; set up FY gains. Note that all torque gains are set to zero
;; except the world Y direction gains
fparam = 0
for j = 0 to 6
force_param_set(24+j,fparam)
force_param_set(30+j,fparam)
end for
fparam = 0.01
force_param_set(25,fparam)
fparam =0.00002
force_param_set(31,fparam)
speed (6)
ready()
joint(1,-45)
joint(2,20)
joint(3,20)
joint(5,-40)
finish()
wxs(-150)
finish()
delay(500)
online(ON)
online(4)
speed(6)
wxs(300)
fparam = 0.0
;; stop the robot, move over a bit and engage tracking mode
halt()
wxs(-1)
finish()
online(ON)
online(4)
speed(2)
wys(-10)
ctl_rel()
end main
ctl_rel()
end main
Troubleshooting
where xc, yc, and zc, are the Cartesian coordinates of the center of the tool
with respect to the default origin.
Electrical noise
Check the system for sources of electrical noise. Re-routing the cable
between the sensor and the force controller box may decrease the effect of
electrical interference. Sensors have varying characteristics of electrical
noise immunity. Consult the sensor manufacturer’s specifications.
Changes in temperature
Changes in ambient temperature can affect the accuracy of measurement of
the sensor. Consult the sensor manufacturer’s specifications.
Precision
Precision is defined by the accuracy with which the calibrated sensor
measures applied forces and nullifies its weight and the weight of any fixed
payload.
Modes of Operation
• Force Sensing
• Force Controlling
Adaptive Control
A software loop that tracks sensed force and relates it to the forces and
torques the robot arm will need to exert.
Bias
The gravitational force resulting from the robot’s end effector or payload
which must be compensated for in order for the robot to exert a specified
force in any degree of freedom at any orientation of gravity. Bias is
compensated for by the Sensor Force Calibrate commands.
Controller
The computerized device that moves the robot arm by providing the
necessary control signals. During the running of an application, these
signals are issued by the execution of a robot software program.
Degree of freedom (DOF)
The types of independent motions in which the robot can move its end
effector (gripper, tool), as defined by the axes of motion. For example, the
A465 robot has six degrees of freedom and can move to co-ordinates
specified by: X, Y, Z, Yaw, Pitch, and Roll.
End effector
A device attached to the tool flange that is used to perform the robot’s task,
such as a gripper, dispenser, buffing wheel, or spray head.
Force
Drive or resistance that acts to push an object toward a different location (as
indicated by X, Y, and Z). The force sensor measures force in ounces.
Gains
Variables that specify positional corrections to regulate the sensitivity of
force control. Proportional gains are made according to deviations from the
force setpoints. Differential gains are made according to changes in sensed
forces and torques.
Moment
See Torque.
Orientation
Cartesian rotational coordinates (referred to as Yaw, Pitch, and Roll) that
specify the spatial attitudes of a robot’s end effector.
Position
Cartesian rectilinear coordinates (referred to as X, Y, and Z) that specify a
location or directions in space.
Positional Offset
The distance the arm must move to contact an object with the force specified
by the force setpoint in that direction.
current, 24
data, 18, 19
A display current values, 24
accuracy, sensor, 32 exerted, 27
ash, 23 interface variables, 19
ATI FT 15/50 Force Sensor, 8 maximum sensed, 20
resolved, 22
resultant, 20
B sampling, 23
sensed, 19
bias, 15, 26 setpoints. See setpoints
tracking. See tracking
C force control mode, 3, 16, 18, 19, 25, 27
initializing, 25
calibration, force, 11, 26 suspension of, 22
cartesian motion mode, 25 force sampling mode, 3
code descriptions, 35 initializing, 23
command generator, 22 force sensor data scaling, 22
communication, troubleshooting, 33 force sensor parameters, 17
configuration, sensor electronics, 35 force tracking. See tracking
contact force, 27 force.r3, 24, 32
control loop. See software loop force.r3 program, 24
coordinate system forces
resolution to, 19 sensed, 21
tool, 25 forces, threshold. See threshold forces
correction factor, 21 frame of reference, 15
corrections, inconsistent, 32
G
D
gains
data scaling, 22 differential control, 21
debugging tool, 24 proportional control, 21
degree of freedom, 15 gravity, compensating for. See calibration, force
desired, 2 guard.r3 program, 27
diagnostics. See troubleshooting guarded move, 27
differential control gains. See gains
display sensed forces. See forces: display current values
I
E inaccurate readings, 32
initialize
examples, 23 force control mode, 25
exerted force, 19 sensor program, 23
interface
turning off, 29
F variables, 19. See force:interface variables
fcal.r3 program, 11, 26
foff.r3 program, 29
fon.r3, 23, 32
L
fon.r3 program, 23 limit clamp settings, 22
force
O
T
Operating Modes, 37
testing the sensor, 24
threshold forces, 22
P track.r3 program, 25
path queue, 16 tracking, 16, 22, 27
payload, 11, 15, 26 offsets, 16, 20, 22
positional correction, 21, 22. See also tracking trajectory, 20
positional tracking. See tracking transient force conditions. See gains, differential control
program troubleshooting, 31
fcal.r3, calibrate for gravity, 11, 26 typical force control procedures. See examples
foff.r3, turn off sampling, 29
fon.r3, initialize force sampling, 23 V
force.r3, display current forces, 24
guard.r3, guarded move, 27 variables. See force:interface variables
track.r3, initialize force control, 25
programs, example, 23
proportional control gains. See gains
W
weighing payload. See payload
R
readings, inaccurate, 32