How to Get More from the 3-Finger Gripper With ROS
The new Robotiq ROS package is now available! Here's what you need to know about the package. What is it? What does it include? And what can it do for you?
The 3-Finger Gripper is one of our most iconic products. It turns up in groundbreaking robotic research projects all over the world, from search and rescue robots to assistive service robots. For researchers — and, indeed, non-researchers — it gives a good balance between ease-of-use and multi-fingered dexterity.
The Robotiq 3-Finger Gripper is part of many groundbreaking robotic research projects all over the world
The problem with research, however, is that you always need to be on the bleeding edge of technology. You need to keep up with the newest robotic developments. You need to use the most up-to-date control algorithms to ensure that you're not working on out-of-date technology.
Over the last 10 years, nothing has helped the spread of robotic technology more than ROS. Every day, it helps robotics researchers to avoid "reinventing the wheel" and gives them access to some of the most advanced functionality that is available.
We have just released our updated ROS package, which includes specific changes for our 3-Finger Gripper. Let's have a look at what it is, what it includes, and what you can do with it.
What is the deal with ROS?
In case you have somehow missed it, here's a quick introduction to ROS.
Despite its name — which stands for "Robot Operating System — ROS is not an operating system. Instead, it is collection of software frameworks which sits on top of the operating system (primarily Linux). Through a set of basic packages, it provides the fundamental software required to run a robotic system.
The real power of ROS is that you can easily add advanced functionality to your robot by installing the relevant packages. You don't have to fiddle around for hours trying to import libraries, decipher comments, and write wrapper-code, as you did in the past. Instead, you can access each package's functionality via a set of standard messages without ever having to look at the underlying code. Our package means that you can get Robotiq products up-and-running with ROS very, very quickly.
Do I need ROS?
This is a common question and the real answer is "It depends."
If you want to use the 3-Finger Gripper for industrial applications, it's possible that ROS is too complicated for your needs. If you've never used it before, ROS requires a bit of a learning curve and its third-party packages are not always stable enough for production environments (unless they're marked as "production" in the ROS Industrial package — which no company has yet achieved).
If you are a researcher, however, our new ROS package is probably a good idea. It allows you to easily access the 3-Finger Gripper's advanced functionality, as well as allowing you to control our other grippers and force sensor. See our eBook Adaptive Robot Grippers in Robotic R&D Projects for examples of what other research groups have achieved with the 3-Finger Gripper.
The Kinetic release: How distributions work
Our updated package has been brought up-to-date for the Kinetic Kame LTS release of ROS, which was released in 2016.
ROS distributions are released every year and are supported for 24 months. This is good because it ensures that the most up-to-date code is always available. However, it is also a pain. Sometimes, we want more a more stable code-base to work from. ROS tackles this by releasing a Long Term Support (LTS) version every two years, which are supported for five years.
A new LTS distribution was released this year (Melodic Morenia LTS). However, we haven't updated our ROS package for this version yet. According to a recent survey, 85% of users are using the Kinetic Kame release, and most people use the LTS distributions of ROS, not the bleeding edge version.
It takes time for people to adopt new distributions of ROS, so we are confident that the new Kinetic-compatible package will be suitable for most of our users for a couple of years at least.
What's new about the Robotiq ROS package
On the surface, not much has changed about the new ROS package. Most of the work has been done behind the scenes to bring the package up-to-date with the Kinetic release.
We have also been working on some bug-fixes.
However, we have made one rather large change…
The packages have been renamed
Probably the most obvious change is that many of the package names have been updated to match the real names of our products. This should hopefully sort some of the confusion that new users used to feel when they downloaded the package and were not sure which ones corresponded to their gripper.
Here are the major name changes we've made:
- Previously: robotiq_s_model — Now: robotiq_3f_gripper — We've updated the name of all the 3-Finger Gripper packages, which should save a lot of the confusion in future caused by the fact that we don't call it the "s model" anywhere else.
- Previously: robotiq_c_model — Now: robotiq_2f_gripper — Similarly, the 2-Finger Grippers were rather confusingly called the "c model," a term which we don't use elsewhere.
- Previously: robotiq_arg2f_model — Now: robotiq_2f_140_gripper — The way we used to differentiate between the 2F-85 and 2F-140 2-Finger Grippers was to call the 140 version the "arg2f." I'm sure many programmers shouted "aaarg" as they tried to work out what this meant. We have replaced this with the clearer term "2f_140." However, we are still using the term "robotiq_2f_c2_gripper" because this refers to an older version of our 2F-85 gripper.
- Previously: robotiq_force_torque_sensor —> Now: robotiq_ft_sensor — Finally, we have renamed the package for our FT300 Force Torque Sensor to be a bit shorter.
What functionalities are available for the 3-Finger Gripper?
The Robotiq package includes functionality for all three of our grippers and the force-torque sensor. However, because the 3-Finger Gripper is the most popular among researchers we have more functionality for this.
Here are the different packages which allow you to control the 3-Finger Gripper and simulate it using the Gazebo simulator which is commonly used with ROS:
- Articulated Gazebo (robotiq_3f_gripper_articulated_gazebo & plugins) — Loads up the articulated model of the gripper into an empty Gazebo simulation.
- Messages (robotiq_3f_gripper_msgs) — Defines the input and output messages for the gripper. There are 22 command values that you can use in the input, ranging from setting the position to reading the current of an individual finger, and 18 output values.
- Control (robotiq_3f_gripper_control) — This is where it all happens. The various input and output values are grouped into easily usable commands like "enter pinch mode", "open", "go to that position", etc
- Joint state publisher (robotiq_3f_gripper_joint_state_publisher) — This is a required package which is used by Gazebo and other visualization tools in ROS. joint_state_publishers simply convert the finger position into named joint values.
- Visualization (robotiq_3f_gripper_visualization) — This includes the 3D models for the simulation.
With the new package, you can really get a grip on the functionalities of the 3-Finger Gripper!