Subscribe

Select Topics

Posts by Tag

See all

Latest Blog Post

Kinematics: Why Robots Move Like They Do

Alex Owen-Hill
by Alex Owen-Hill. Last updated on May 05, 2016 4:31 PM
Posted on Sep 13, 2015 9:18 PM. 7 min read time

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

Leave a comment

Alex Owen-Hill
Written by Alex Owen-Hill
Alex Owen-Hill is a freelance writer and public speaker who blogs about a large range of topics, including science, presentation skills at CreateClarifyArticulate.com, storytelling 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 about industrial robotics.
Connect with the writer:
http://alexowenhill.co.uk/

Related posts

Seven robots working for the health of our planet

Machines fueled by trash, super fast recycling sorters, and an invasive species zapper/vacuum: Here are a few of the robotics...

Philip Fine
By Philip Fine - September 10, 2019
The 3 Ways to Automate a Sanding Task

What's the best way to automate a sanding task? Material removal is vital for many manufacturing processes, but it take a lot...

Alex Owen-Hill
By Alex Owen-Hill - April 30, 2019
Let's Start a Conversation about Finishing...

Catherine Elie showcases Robotiq's new Sanding Kit as we get ready to delve into the world of sanding, polishing, deburring...

Emmet Cole
By Emmet Cole - April 25, 2019