Subscribe

Latest Blog Post

build your in-house robotic expertise program

Kinematics: Why Robots Move Like They Do

Alex Owen-Hill
by Alex Owen-Hill on Sep 13, 2015 9:18:28 PM

For the general public, “moving like a robot” means making jerky, linear movements which nobody would describe as graceful. In contrast to this stereotype, many modern robots are able to move very gracefully, thanks to continual advancements in actuation technology. Despite this, as roboticists, we are all too familiar with the occasional strange movements that robotic manipulators make. Why do even the most accurate robots sometimes move in ways we don’t expect? The Answer: Kinematics. In this post, we introduce the “need-to-know” basics to give you a working understanding of this cornerstone topic of robotics.

robot-kinematicRobots can make some pretty strange motions. This is true even despite the continual improvements in actuation and motion planning algorithms. Sometimes, you command a seemingly simple move from Point A to Point B, only for the robot to complete the instruction in the most convoluted way possible. It might completely change the configuration of all its joints before coming back to what seems to be exactly the same spot.

What causes robots to move in ways that we don’t expect?

Often, it’s because we don’t have a full, intuitive understanding of the robot’s workspace and kinematics.

During my doctorate, I used the same robotic manipulator continuously for three whole years. By the end of the first year, I could have told you everything about its electronics, joint limits and basic workspace. During the second year, I could have told you everything about its hydraulics, kinematic inaccuracies and control system implementation. However, it wasn’t until a little into my third year that I visually mapped its workspace in 3D to fully understand its “kinematic reachability”. Suddenly, I had a light-bulb moment: The areas of the robot workspace that I had thought were the best for completing tasks, were in fact the areas where the robot had the least dexterity.

Having an intuitive (and for me preferably visual) understanding of your robot’s kinematics is vital if you want to use its workspace most effectively.

What is Kinematics?

It’s perfectly possible for an operator to use a modern robot, day-to-day, without a deep understanding of its kinematic equations. Even so, a basic understanding of robot kinematics brings you one step closer to developing an intuitive understanding of its workspace.

Kinematics is the study of all the possible motions of a robot. It considers the length of each section and the joint limits to answer the basic question: What are all the possible positions (and motions) this robot can achieve?

Kinematics does not consider the forces that cause these motions. That is handled by the related study of “kinetics”. For example, kinematics does not consider whether the force to move from one position to another is supplied by electric motors at the joints, or by a person pushing the end effector by hand. The only thing it considers is whether the motion is achievable or not.

Forward Kinematics vs Inverse Kinematics

Kinematics is split into two parts: Forward Kinematics and Inverse Kinematics.

Each approach takes the kinematic chain (which represents the individual parts and actuators of the robot in their most basic geometrical form) and calculates the relationship between the pose (position and orientation) of the end effector and the position of each joint.

robot-gripper-kinematicForward Kinematics

Forward kinematics answers the basic question: If I set the joints to a particular position, what will be the resultant pose of the end effector?

The most common approach is to use the Denavit-Hartenberg (DH) parameters. Each joint of the robot is characterized by four parameters. These are then entered into a set of transformation matrices and multiplied together to give a matrix which describes the pose of the end effector.

Using this method, there is only one solution - if the joints are set to a particular position, the end effector will always end up in the same position.

Inverse Kinematics

Involves calculating the inverse kinematic equations required to command a robot to a particular position within the workspace.

Inverse kinematics attempts to answer the basic question: To what positions should I set the robot joints to move the end effector to a particular pose?

However, things are not so simple. Unlike with forward kinematics, most robots with more than two actuators will have multiple possible solutions for the inverse kinematics.

The Problem with Inverse Kinematics

Inverse Kinematics are probably the No. 1 source of headaches for robotics programmers, thanks to the huge number of possible solutions for complex kinematic chains.

A 1R robot (e.g. a stick attached to a motor) will have only one possible inverse kinematic solution to describe the position of the end point. A 2R robot (e.g. a chain of 2 sticks with a motor each) will have two possible solutions to describe the same position of the end point.

Each joint will add more complexity to the inverse kinematics and more possible solutions to choose from. A 6R robot (with 6 revolving joints) can have 16 possible solutions, meaning 16 different ways to set the end effector to the same pose. Switching between the solutions is sometimes possible, but not always straightforward.

When your robot makes an unexpected motion, or isn’t able to reach a position it should be capable of, the important thing to keep in mind is that programmers have made a compromise between all the possible inverse kinematics solutions.

Remembering this will help you to avoid headaches.

Visually Representing the Workspace

One fairly new way to gain an intuitive understanding of a robot’s workspace is to visually map its “kinematic reachability” in 3D. This takes a particular inverse kinematic solution and plots a 3D rendering of which points are reachable, noting the number of different orientations that point is reachable from.

OpenRave, which is now linked to ROS, is one way of calculating kinematic reachability, though it is still development code.

4 Free Online Resources to Learn Kinematics

This post has been a quick introduction to kinematics. But, there are several very good, free resources to learn about kinematics in more detail online.

Professor Oussama Khatib (coauthor of the Springer “bible” of Robotics) has a set of free lectures on YouTube, which displays his full Introduction to Robotics course at Stanford. The second lecture is about kinematics.

LearnAboutRobots gives very simple, one page introductions to forward kinematics and inverse kinematics. This can be useful to jog your memory if you have studied them in the past and just need a refresher.

MIT OpenCourseware provides free, downloadable lecture handouts and example questions for the MIT Introduction to Robotics course, including kinematics.

EMU University also provides downloadable lecture slides and example exam papers on kinematics for its Introduction to Robotics course.

How has an understanding of kinematics been useful for you? What do you find most challenging about kinematics? Are there any examples where you were surprised by the operation of your robot? Tell us in the comments below.

eBook ON PROGRAMMING TIPS AND TOP APPLICATIONS FOR UR

 
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

What Direction Is Robotics Heading?

The new Robotics Roadmap indicates future directions of the field. What has changed in the last four years? Where is robotics...

Alex Owen-Hill
By Alex Owen-Hill - May 16, 2017
What's New in Robotics This Week -May 12

Manufacturing & cobot roundup, drone brief, bots teaching bots, is there a 'Robotics Headline of the Year' award?, and much...

Emmet Cole
By Emmet Cole - May 12, 2017
How the Automation Revolution Is Shaping the Work of Architects, Creatives & Designers

We live in exciting times—in the midst of an automation revolution. Like the information and industrial revolutions before it,...

Jonathan Kolodner
By Jonathan Kolodner - April 24, 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