If you are reading this post, you’ve taken the first step on a very rewarding journey towards being a roboticist! Whether you’re interested in actually automating something, or just interested in playing around, this blog will take you from your first baby steps in understanding of what robotic arms are and how they work, to some more advanced concepts in the field like motion planning, grasping, and visual servoing.
After reading this, if you are interested in building/buying a robot arm to tinker with yourself, you should check-out our robotic arm store.
While we won’t get into the nitty-gritty in this post, at some point you’ll need to have some basic maths to follow along. At least a basic knowledge of linear algebra, trigonometry and basic calculus will be needed. If you feel like you might need a little refresher on these topics, Khan Academy is a fantastic (and free) resource for learning everything you need to know to become a world-class roboticist.
What is a robotic arm?
A robotic arm is a kind of open kinematic-chain, which is really just a collection of links and joints.
Usually at the end of this chain is a tool of some kind, like a gripper or a welder or a drill. This is called the end-effector.
One great example of links and joints is your own human arm. The links in your arm are the bones, and the joints are the connections between the bones: Your elbow, your shoulder, your wrist., etc.
A link can be any shape and size, so long as it is one solid, rigid object. Joints generally come in one of two varieties:
Revolute joints are the joints that you are most familiar with. They are equivalent to a hinge: They rotate just one way. A door hinge or a wheel is a great example of a revolute joint. Revolute joints have an axis that describes which way they rotate:
Your elbow is another good example of a revolute joint.
Prismatic or linear joints are less common, but are useful when linear and not rotational motion is desired. Linear joints slide along a line, like a drawer slide or a telescope.
By serially combining links with joints that are oriented along different axis’, you can produce all kinds of different kinds of robotic arms, each more suited to some tasks than others.
And that’s it – In theory, robotic arms are very simple. But put several simple things together and things get complicated very quickly…
Some common robotic arms
Just to give you and intuitive sense of what we’re talking about here, lets look at a few common designs of robotic arms that you’ll see in a lot of places:
An articulated robotic arm is the kind of robot arm that you’re probably most familiar with. These arms can have anywhere from 3 to 7 joints. All of the joints are revolute, and they are the most dexterous kind of robotic arm. These arms are usually used in applications like spot-welding or painting, where the end-effector must be in very specific positions and orientations.
A SCARA arm is a special arm that excels at working in a plane. It’s great for pick-and-place tasks (like picking things up off of a conveyor belt). SCARA arms are relatively fast, and are precise enough to do detailed electronics or medical testing work. All revolute and linear joints on a SCARA robot point in the Z-direction.
Gantry Arm (Tower Crane)
A gantry arm is a simple arm where all of the joints but the base are linear. One linear joint moves the load up and down, another linear joint moves it outwards and inwards. A revolute joint at the base turns the arm. These arms are used for heavy lifting, like the tower crane that you see here.
A delta robot is actually a closed kinematic chain, and so is not technically a robotic arm. However it is popular enough that I thought it warranted a mention here. Delta robots control the position and orientation of their end-effector by moving three attached links. By connecting the end effector to three links instead of one, delta robots can move very fast, with minimal error.
Sneak Peek at Rigid Body Motion and Kinematics
Now that you understand what a robot arm is, I can tell you now that most of the work of building and programming a robotic arm successfully is understanding how the arm end-effector moves, when the joints move in different ways.
To get there, though, we’ll first need to equip you with some very important mathematical tools for understanding how we describe the motion of rigid bodies in space. This will be the subject of the next blog post, in which we’ll show you how to represent the motion of rigid bodies using some basic linear algebra.