What is a Robot?

Well, based on the different places we might look for examples we can come up with a variety of answers.

Let's see is we can find some common attributes in the definition after we explore some different areas where robots are used.
Some of the places we can look for robots include: factories, space exploration, movies, books.
I bet you can think of other places as well.

Let's begin with factories. The most common use of robots today is in the automotive industry. Lots for robots are used to weld parts of automobiles together.

Here is a picture of a robot welding. This particular robot is from a company call Fanuc Robotics. They supply many of the robots used in the automotive industry to make cars! Another major suppler is ABB. They also make welding robots.

The robot arm (as it's called) carries a welding torch to a location and welds two metal parts together. It can do this with great precision, over and over again. The robot doesn't get tired, and won't take a break unless there's nothing to weld.

This is robot is what we call a manipulator, that is, it manipulates things - picks them up, moves them around, puts them with other things. This is called material handling. These types of robots are good at putting things in a orderly sequence, like in the squares of a tic-tack-toe board. When robots do that we call it palletizing - putting things on a pallet.

So what are its attributes (characteristics)?

This robot (arm) is a machine (meaning it does work)

this robot has motors (we call them actuators) to move the various parts of the arm around. The parts are called links.

This robot has sensors to measure the position of the various links. Typically these are encoders that measure the rotational position of the links.

They have a power supply so they can use energy to move (by making the motors turn).

They have a computer (perhaps several of them) to read their program (called code) and follow the instructions.

Like we said they will move through their assigned positions over and over again, as long as the parts they are suppose to weld are there and all the other parts of the system are working. In fact, in some cases, they will try to weld two parts together that aren't there depending on how the program was written.

One of the good things about these robots is we can tell them to weld two new pieces together, by changing the program, say when next years car models come out.

 

OK lets look at another type of robot, this time a famous one, Sojourner - the Mars rover robot.

This link describes the robot.

Here is the home site for the Mars Pathfinder Mission at JPL (Jet Propulsion Laboratory)

Sojourner is a mobile robot, meaning it can move around on the ground, so it looks and acts differently than the robot arm we talked about above. But, Sojourner has lots of the same subsystems - motors, power supply (in this case getting it power from the sun via solar cells), and sensors.

The sensors are a really important part of Sojourner because Sojourner was used to explore the surface of Mars. Sojourner had a stereo camera system, and a spectrometer for finding out about the rocks on Mars.

The Robotics Industries Association is an organization that supports and promotes the use of robots in industry. A short but interesting article by Brian Huse on How Robots Will Affect Future Generations is worth reading for its prospective.

 

OK so we have seen two different types of robots - industrial robot arms (called manipulators), and mobile robots. What do they have in common?

Well, first of all they are machines. A machine is a device that does work, and I use this word in the physics sense, i.e., something that applies a force through a distance. When you pick up a box you do work. When you walk, you do work, since you have to overcome gravity and air resistance to move.

They have motors (or other types of actuators) to allow them to apply these forces (or torques), and thus interact with the world.

They all have sensors - first to measure they own actions, such as the rotation of one of the links or one of the wheels on the rover (called an rotary encoder), and in the case of Sojourner, she has cameras to see the world (Mars) and a spectrometer to figure out what elements are in the rocks.

They both have programs, written by humans that tell them what to do or perhaps how to behave, just like your parents communicate to you! There is a lot of difference between these two approaches to commanding the robot. Do you think you understand the difference?

They have one or more sources of power or energy. Power is the time rate at which energy is used so if we have a powerful robot we have one that can do a lot of work fast, since the amount of work done is equal to the amount of energy used, another law of physics. In the case of space robots, power is very expensive so we try to make the robots as energy efficient as possible.

If you look at this list so far, you might say - heck I know lots of things that could fit this definition. Certainly robots first cousins, called machine tools, e.g., CNC mills and CNC lathes (CNC = Computer Numerical Control) have all the items we have list you don't see people calling them robots. So what is missing? Well I think its several things but the first one I'll mention is flexibility - humans are the ultimate in flexibility, they will easily and quickly change their activities and their response based upon their interpretation of a situation (assessment of the state of the world). So to be a robot, that is, a machine that demonstrated intelligent behavior, the system needs to be flexible. Machine tools know how to do one thing - machine parts. Robots ought to be able to do more than one kind of job. Flexibility results from the physical configuration of the robot as well as the software programing. Robots with more degrees of freedom (DOF) have more flexibility, in a physical sense.

The other attribute of a robot that we have touched on here is the idea that the robot senses and understands (at some level) it world. Machine tools may be able to sense something about the parts that they are machining, but they don't know the temperature in the room or who just walked in. We want our robots to have this capacity to acquire knowledge about their environment even if it isn't immediately important to their actions. This is what makes robotics hard.

At CSM we are working on robots for use in underground mining. Here is a picture of an underground loader (called a LHD) that is in fact a robot. This is a very large robot, probably the largest, and it works in mines in Sweden.

 

 

What about Intelligence?

Well, when we think of intelligence we think of humans - we at least think we are the smart things around. :), So we use the phrase artificial intelligence when we talk of intelligence in machines - they aren't born with it the way we are! There is a professional society dedicated to studying artificial intelligence (AI). From their web page we get a hint of their definition of AI "Founded in 1979, the American Association for Artificial Intelligence (AAAI) is a nonprofit scientific society devoted to advancing the scientific understanding of the mechanisms underlying thought and intelligent behavior and their embodiment in machines." So there it is intelligent behavior and thought - kind of makes it tough to define it if you use the word in the definition. So we are left to figure out what we mean by intelligent. I can say that it involves decision making, that is, things that are intelligent demonstrate that intelligence by making decision or choices that we perceive to be intelligent (appropriate and effective for the circumstance), like getting out of the way of a moving truck, deciding to invest in the right stock, or deciding where to put the tree in the painting. Clearly animals have a leg up on machines when it comes to intelligence. At least the higher order animals all have brains, and those we associate with making decisions. So how do machines make decisions? Well it comes for the code that is programmed into their computers. Programming languages are designed to allow for branching, which means the sequence of steps that are executed will be different based upon a test (e.g., is the light on or off?; if its on, do A; if its off, do B). We call that discrete logic - there are a finite selection of choices and one of them is selected based on the test value. So at one level - demonstrating intelligent can be represented as a set of decisions Yes/No On/Off and how they are decided. We have only begun to make our machines intelligent - you can be one of the people who helps make that happen!

 

Three laws of robotics - A young scientist who had immigrated from Russia Isaac Asimov got into writing science fiction for fun. One of the topics he explored in his science fiction was humanoid robots. In conjunction with John W. Campbell Jr., he developed the three laws of robots which first appeared in a book called Liar in 1941.

The Three Laws of Robotics:
1. A robot may not injure a human being, or, through inaction, allow a human being to come to harm.
2. A robot must obey the orders given it by human beings except where such orders would conflict with the First Law.
3. A robot must protect its own existence so long as such protection does not conflict with the First or Second Laws.
Handbook of Robotics, 56th Edition, 2058 A.D., in LIAR! and I Robot, among others.

Several books of Asimov's explore the implications of these laws. For more on Isaac Asimov check out. http://www.kirjasto.sci.fi/asimov.htm

Industrial robots - In 1961, Joseph Engelberger sold the first industrial robot to General Motors Corporation. Engelberger started a company called Unimation that built and sold robots for a number for years. Obviously industrial robots are for use in industry, to help manufacture stuff. In use, the term industrial robot has come to mean a robotic arm (or manipulator). One of the most widely used designs for an industrial robot has the wrist designed in such a way so that the last three axes, if there are that many, intersect at a single point. This significantly reduces the complexity of the mathematical solution to figuring out how to get the robot to a point in space. Next time you see an industrial robot, I'll bet (even money) the wrist will be as I describe it.

Feedback control - so when we tell a robot to go somewhere, {well not like that :) }, how do we know it will actual go where we tell to go? Well to great extent it depends on the type of control that is being used on the robot. For industrial robots, where the positioning of the arm is critical to the success of the operation, the ability of the robot to go to a specific location is really important. Many industrial robots, today, can return to a position they have been taught (remember) within 0.2 mm, 200 microns, WOW. That's the thickness of three human hairs stacked up. So how do they do it? Well the design of the structure is important since the specification is for a specific amount of payload (or weight) at the wrist of the robot, but the most important contribution comes from what we call feedback control. Feedback control is a way of doing things that get the robot to move based upon error - how much difference is there between where she told me to go and where I am? If the error is greater than zero, then there is an incentive to move (toward the goal), just if your room is still dirty and you will be rewarded for a clean room, there is an incentive to keep cleaning. :) Feedback control, also called closed loop control, is probably the most important concept in controlling machines. The first really powerful example of feedback control comes from the Watt steam engine (1769) and his flyball governor. The flyball governor, which you can see in pictures or in museums on the old steam generators, regulates the flow of steam to the turbine so that a stable rotational speed is achieved. It's what makes the steam engine useful. More recent examples come from the communications industry. In 1927, H.S. Black, who worked for the telephone company, realized that he could reduce the distortion in repeater amplifier circuits by using negative feedback. Today, we use negative feedback to drive the error in the position of the arm to zero (or very close to it). This is done using optical encoders on the motor shaft (or output shaft) and measuring the actual position of the shaft and the desired position (remembered from a previous visit). Here is a drawing of a feedback control loop.

Programming is really a combination of two things - a language and logic. Learning the language is straight forward, easier that a foreign language, and the logic is just that, logical. Can you break a problem into its elemental steps, identifying all of them and then express each step as a logical relationship? If so, you will be a good programmer. Robots will do exactly what you tell them, so the key is to tell them the right thing!

Torque and gears - Torque is a force applied at a distance, about some axis. When you twist of the cap of a soda bottle, you are applying a torque. Forces cause stuff to move in a straight line; torques cause stuff to rotate about some axis. Torque is what causes your car to accelerate, or your bicycle as you pedal. The torque is applied about the axis of rotation of the wheel and makes the wheel turn faster and faster. So when we want our robots to move, we typically apply a torque by way of a motor. Yes, some robot link motions are linear and those are made by applying forces, but the vast majority of robots use motors and thus torques are used to make them move. Now an interesting thing happens when you have torques applied through a set of gears. The speed (rotation about the axis of rotation of the gear) and torque will change as a function of the gear ratio, or the number of teeth in the two gears. That is, if you have a small gear, called the pinion, meshed with a larger gear, called the gear, and the ratio of the diameters of the two gears is 2 then the pinion or smaller gear will turn twice as fast as the larger gear, and the torque measured about the axis of rotation of the larger gear will be twice that of the smaller gear. What me to say it again, perhaps a little differently? The pinion will rotate twice as fast, but will only have have the torque of the larger gear. This turns out to be very beneficial to robots and other machines, since typically the motors are turning faster than we like but producing less torque than we need. So, if we use gears we can slow the speed of rotation down and that the same time increase the torque! Great deal huh! There are some minor drawbacks to all of this, but we won't talk about them here.

Linear motion and timing