Force control is an important technique in robotics research. But, how do you get started with force control? Do you have to develop controllers yourself or are there any "easy options"? In this post we give you a crash course in robotic force control for researchers. Of course, it'll also be useful for anyone else interested in implementing this core concept. Let's get technical!
Force control has been around for a long time in robotics research. Since the 1970s, researchers have looked for ways to integrate the sense of touch into their robots. Touch might be the most important of human senses, so it makes sense that it's also important for robots.
Although it has a long history, the use of force control has only recently started to become popular within industrial robotics. Now, finally, we are starting to see robotic products with integrated force control. This is a great thing for robotics researchers!
We cover force control in depth in our new eBook Force Sensors in Robotics Research: The Essential Guide (which you can download for free here). In this post, we'll just give you the basics.
For a long time, robotics researchers have been in a bit of an awkward situation. We could see that countless other research groups had already integrated force control into their robots. This meant (at least for academic researchers) that implementing force control was less valuable because it wouldn't produce any "novel" (i.e. publishable) results.
However, there was no "easy way" to get started with force control. If you wanted to get the benefits of force feedback, you'd have to spend a long time developing it for your robot, knowing that it probably wouldn't result in an academic paper.
Thankfully, hard-working industrial R&D researchers have come to the rescue. Robot manufacturers are now making it easy to use force control. Here at Robotiq, for example, we've developed a plug and play kit, which gives force control to Universal Robots using our FT Sensor. This trend is only going to increase with industrial robotics.
Researchers now have the option of using force control in their research, without having to spend long, fruitless hours in development.
Although there is now an "easy option", there are still good reasons you might want to implement force control yourself.
Some reasons might be:
Fortunately, there is a lot of published information available about implementing force control. Unfortunately, most of this information is buried within research papers as part of the "methodology" section.
In our free email series (which comes with the eBook), we give you a helping hand for where to find the best information about implementing force control. You will still have to put in a bit of work before you have a fully functional and reliable force controller. But, hopefully, this will give you a bit of a "head start”.
When we are talking about the advantages of force control, usually we are comparing active force control to motion control (e.g position control or velocity control).
Pure position control works like this:
Clearly, there are drawbacks to this control approach. It is easy for the robot to apply very high forces to the environment and potentially cause damage. I've seen a manipulator accidentally karate-chop a table in half because it was commanded to the wrong position and only used pure position control.
Force control provids an alternative. You can use 6-axis Force-Torque Sensors (or sometimes other force sensors) to sense physical interactions. This means that force controllers are more suitable for a variety of tasks, including:
There are clearly many advantages to force control.
Pure force control uses a similar principle to the pure position control described above. The only difference is that you command the robot with a force instead of a position. Thus the robot will try to maintain the force which has been designated on the environment.
Pure force control also has some limitations. For example, it is not so great when moving the robot through free space (i.e. when there is no applied force).
In practice, a combination of motion and force control are used to get the best of both worlds.
There are a variety of different force control techniques, some of which are described below. These are all "active" force controllers (i.e. where force data is incorporated into the control loops). You can also have "passive" force control, such as when a bendy material or springs are integrated into a manipulator to ensure that it cannot apply a high force.
These methods are primarily motion controllers, which only apply a force constraint when the position of the robot deviates from the target position. These controllers do not explicitly "close the force feedback loop." This means that, technically, they don't need force torque sensors to be implemented. However, often it is a good idea to use force torque sensor data to improve the controller.
There are also special cases of impedance and admittance control, such as stiffness control which actively varies the stiffness of the robot joint (demonstrated quite clearly in this video).
These methods incorporate both force and motion into the control of the robot. They require two different inputs - the target position/motion and the target force. As a result of this, some direct force controllers must have a very clear model of the task.
This can sometimes be restrictive when you are using the controller in unknown environments or for unknown tasks. However, when you do know explicit details about the task, these controllers allow you to independently control each axis for either force or motion depending on the needs of the task.
In this post, we've introduced the basics of robot force control. Hopefully, it's given you a helpful introduction into the techniques available.
However, if you actually want to implement force control yourself, you're going to need a lot more information than this, right?
To learn more about implementing force control, make sure to download a free copy of our eBook and email series.
The eBook provides a definitive guide for using force sensors in robotics research. The email series provides links to loads of great resources, where you can learn more about force control to help you with your integration.
Download it by clicking the big button below! (Did we mention, it's free!)
Have you ever integrated force control into a robot? What challenges did you come across? Which type of force control is your favorite? Tell us in the comments below or join the discussion on LinkedIn, Twitter or Facebook.