Latest Blog Post

build your in-house robotic expertise program

Robot Force Control: An Introduction

Nicolas Lauzier
by Nicolas Lauzier on Feb 26, 2012 9:43:00 PM

Today's industrial robots are almost always programmed using a position control scheme. Typically, the robot tool follows a prescribed trajectory in space which has been pre-programmed or "teached" before run-time. Sometimes, the robot gets its reference position from a vision system, which enables it to adapt its motion to its changing environment. However, for some applications, it is more important to precisely control the force applied by the end-effector rather than controling the robots positioning. One example of this is the finishing of a machined part, as seen in the video below:pixel

Video from the Youtube user Abrasit

In an application for which the applied force is important, the robot needs to be controlled differently. Instead of servoing each joint to its targeted position, the output torque is controlled to match the desired force applied by the end-effector on an external object. To do this, a way of measuring the external force is required.

Force/Torque Sensors

Typically, the external force is measured using a six-axis force/torque sensor which measures any force applied to the end-effector. Most of the commercially available force/torque sensors are built from strain gages. Some robot manufacturers offer force-control packages containing the sensor, plus a special software, which allows you to program the robot using force control.

Sensorless Force Control

One question begs to be asked at this point: is it possible to control the applied force using a normal, position-controlled robot? Well, the answer is yes, but not directly. One way to do this is by having a compliant end-effector for which the relation between displacement and force is well-known. Instead of controlling the force, the position trajectory is programmed to control the deformation of the tool in order to match the desired applied force. This approach is more simple but has some disadvantages: the position of the object has to be known precisely, the contact surface has to be stiff and the end-effector has to be compliant in only one direction. If one of these assumptions is not met, the results are often compromised. Therefore, a force/torque sensor is the best option to obtain precision in force control.

Force Control Basics

robot force control

At first glance, the basic idea behind force control is simple: the output of the sensor is used to close the loop in the controller, adjusting each of the joint torque to match the desired output. In a certain way, this is similar to position control. You simply replace the reference position (from the motor encoders) by a reference force (from the force/torque sensor).

Unfortunately, it is not always as easy as that. The problems come from the fact that the robot needs to perform a trajectory in certain directions while a precise control of the force is required in other directions. For example, when a robot is grinding a surface, a precise force is needed in the direction perpendicular to the grinded surface. In all other directions (and orientations), the robot needs to perform a standard, programmed position trajectory. Therefore, in real applications, force control is in fact an hybrid force/position control for which the joint torques are computed using two references. On top of that, the control scheme needs to be dynamically changed between two operations, for example when the robot completes grinding the surface of the object.

Needless to say, force control is a world in itself and can be quite complex to master (whole textbooks are written on the subject). Fortunately, force-control packages are offered by some robot manufacturers to ease the integration of these sensors with their robots. It's a good thing since one day, force control programming might just be as easy to integrate as the good old-fashioned position control scheme.



Subscribe to Robotiq's Blog

Leave a comment

Nicolas Lauzier
Written by Nicolas Lauzier
Nicolas is a project manager in R&D for Robotiq.
Connect with the writer:

Related posts

Start Recording Force Values in a Quick and Simple Way

What's trending on DoF this week? Recording max force values, path with conveyor tracking, sharing emergency stops with other...

Amanda Lee
By Amanda Lee - May 25, 2017
The Future of Robotic Finishing Applications

What's trending on DoF this week? The future of finishing applications, new data logging program template, picking stacks of...

Amanda Lee
By Amanda Lee - May 18, 2017
Save Time Stacking or Unstacking Parts With the Force Torque Sensor

What's trending on DoF this week? Stacking/unstacking parts using the Force Torque Sensor, Gripper safety certification, train...

Amanda Lee
By Amanda Lee - May 11, 2017

Sneak Peek on the Upcoming Wrist Camera URCap Update for DoF Pros Only!

Hi Pros, I wanted to take a few minutes to talk about the upcoming release for the Wrist Camera URCap! We've noticed that a lot of people want to use the Wrist Camera to locate stock parts...Read more

Handy Helper Functions for Universal Robots

I thought that we might want a single thread where everyone can post up any handy little helper functions that they have developed over time that make programming and using the UR robots easier....Read more

Program speed

When the UR is in run mode, does the program speed slider default to 100%? Also, is there a way to use a script function of some sort to verify or set the speed slider to 100%? I am using the UR in a...Read more

Remote control of Universal Robots user interface

Hi. Has anyone tried to or does anyone know how to remote control Polyscope, the user interface of Universal robots? I’ve had the idea to install VNC server on a robot to be able to remote control...Read more