Subscribe

Latest Blog Post

Cable management on UR

How to Benchmark a Robot Application in 10 Steps

Alex Owen-Hill
by Alex Owen-Hill on Jan 16, 2017 7:00:00 AM

You develop a new application for your robot, or modify an existing one. How do you know if you have improved the process? What if you've made it worse? Benchmarking gives us an objective way to measure the success of our robot applications, but if we don't follow the right process the results can be misleading. In this article, we explain how to benchmark properly to improve our robotic applications.

1146063-main-robotisee-robotiq-capable-manipuler-1.jpg

There are very few established, task-based benchmarks in collaborative robotics. As we discussed in the previous article, this is partly due to the lack of a benchmarking culture in robotic research. Whatever the reason, it means that it is our own responsibility to create benchmarks for our robotic applications, whether we are in industry or in research.

Task-based benchmarking involves testing the performance of a robotic system for a particular task. In an ideal world, we would perform this type of test every time we made a significant change to the robot setup or programming. We should also do it when we create a new robot application for an existing process.

For example, let's say I am already using a collaborative robot to pick-and-place circuit boards. The operation is too slow for me and I decide that I'm going to change the setup to speed it up. So, I go onto the DoF forum and ask the community for some suggestions. They give me several good options, all of which work for my application. But, now I'm stuck. How do I decide between the solutions? I need to turn the task into a "task-based benchmark" so that I can compare the solutions objectively.

Although the idea of comparing solutions might seem like common sense, many of us don't follow a clear benchmarking process and end up with misleading data. Here is one possible process which you can follow.

robotiq-cobot-pic.png

10 Steps for Creating an Effective Benchmark

This process describes how to use benchmarks to test improvements to your existing robotic setup; for example, when you change robot programming and want to check if the robot performs better, the same, or worse than it did before. If instead you want to test a brand new robot application, use the same process but compare between the "with robot" and "without robot" cases.

During my PhD, I studied some task-based benchmarks from the field of occupational therapy. These are tests which therapists use to determine, for example, a person's loss of dexterity due to Parkinson's Disease. In the process, I learned that task-based benchmarks are often more complex than they first appear. Even apparently simple tasks — like stacking blocks on top of each other — must follow a strictly controlled process, otherwise the results can become meaningless due to "confounding variables."

When you are using this process to develop your own benchmarks, keep all possible aspects of the robotic setup exactly the same. This way you can ensure that confounding variables don't result in bad data.


10-steps-for-creating-an-effective-benchmark-2.png

Follow the Principles of Good Experimental Design

In some ways, defining your own benchmarks is a similar process to designing a research experiment. You can find out more about the principles of experimental design in our article How to Design a Robotics Experiment in 5 Steps and learn how to form a solid experimental hypothesis in our article This Single Statement Generates Great Robotics Research.

 

How do you compare the performance of your robot applications? What effects could benchmarking have on your business? Which parts of your work do you already measure with metrics? Tell us in the comments below or join the discussion on LinkedIn, Twitter, Facebook or the DoF professional robotics community.

machine tending playbook

 
x

Subscribe to Robotiq's Blog

Leave a comment

Alex Owen-Hill
Written by Alex Owen-Hill
Alex Owen-Hill is a freelance writer and blogger who writes about a large range of topics, including science, language, creativity and (of course) robotics. He completed a PhD in Telerobotics from Universidad Politecnica de Madrid as part of the PURESAFE project, in collaboration with CERN. As a recovering academic, he maintains a firm foot in the robotics world by blogging for gripper manufacturer 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

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

Sharing emergency stop with other machines

Hi,I've been trying to connect UR10 robot with press break machine and I'm asking help to making connection between those two machines. Here is picture of I/O cable from press brake. Pins 5-8 and...Read more

Path together Conveyor tracking

Hi Pros,Since the first URCaps of the FT300, I understand that it is not possible to use the Path recording function together "Conveyor tracking". Is this true?. Is there a way, using Scripts to use...Read more