20
obotics R 9

Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

oboticsR9

Page 2: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

obotics9

R2

6/21/02

Even the not so dangerous, not so precise, and not so boringtasks might effectively use robots. The study of robotics is

very challenging. Robot designinvolves an understanding ofmechanisms, linkages,accelerations, dynamic loads,sensor-control, electronics,mathematics, mathematics, andmathematics.

Planetary exploration, remote-controlled surgery, cutting your lawn: Who do we want tocarry out these activities? Why, the most famous alphanumeric characters in all ofmoviedom: R2D2 and 3CPO-robots. Dangerous missions, precision manipulations, andboring chores all call for robots.

photo of Kismet

Differential equations for describing motion, matrixmanipulation for defining position, and Laplace transforma-tions for characterizing feedback-control are examples of themathematical areas that one encounters.

What is a robot?

From the Robot Institute of America, "a robot is areprogrammable, multifunctional manipulator designed tomove material, parts, tools, or specialized devices throughvariable programmed motions for the performance of avariety of tasks."

And, from those who must deal with the present capabili-ties of robots, "a robot is a one-armed, blind machine withlimited memory and which cannot speak, see, or hear."

photo of R2D2

Labor — even graduatestudent labor — is expensive.Since robots don't requiresalaries, pensions, and fringebenefits or complain aboutwork conditions (except3CPO), they could prove to beideal, cost-effective workers, atleast in principle.

Robotics is the technology of robots, a multifaceted fieldin which engineers design and build mechanisms to perform awide range of tasks.

Robots may be tiny or huge. They may be stationary ormobile. They may crawl or walk.

They may check electrical circuits. They may manipulateparts. They may serve as roving eyes or ears. They may makefeedback-controlled precision movements.

They may express "feelings” (MIT is working on Kismet, arobot whose face expresses emotions — surprise, sorrow,happiness).

photo of 3CPO

Page 3: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

obotics9

R3

6/21/02

Whatever the definition, it doesn't take a lot of imagina-tion to realize that the potential for more sophisticated robotsis enormous. The real difficulty is figuring out how to designthem.

Computers and robots are quite similar. They are bothprogrammable and can be configured to carry out a variety oftasks.

Robots and computers do have a common heritage —the programmable loom. Joseph Jacquard, a French stonema-son, had the idea in 1801.

The Jacquard loom was a device whose weave patternwas controlled by a sequence of perforated cards. A singlemachine could produce a wide variety of textile weavessimply by punching holes in cards and properly sequencingthem.

photo of egg,baseball, Nerfball in a row

For example, how would youdesign a robot to pick up anumber of near-spherical objects:eggs, baseballs, and Nerf balls?

Eggs are fragile, baseballs areheavy, Nerf balls are light andspongy.

What would the hand look like? How would it decidehow hard it should squeeze to pick up the object? Wouldyou employ some sort of sensor to detect the type of object?How would it work?

Maybe the idea of a hand isn't the best approach. Anyother ideas?

"Reprogrammable, multifunctional" are the operationalwords. There are many automated machines which aredesigned to carry out single tasks. But that's all they can do.

Candy-dispensing machines, toasters, and CD-changersare examples. These automated machines can be veryefficient because they can be optimally designed to performtheir single task.

The idea of a robot is that it can be reconfigured toperform different tasks. As a result, they tend to be much lessefficient than automated machines.

candy machine

toaster

CD changerThe loom would detect the hole configuration, and

appropriately raise or lower the warp threads to create thetextile pattern, one card at a time. So, the idea of a program-mable machine is almost 200 years old.

Page 4: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

obotics9

R4

6/21/02

The difference between robots and computers lies inwhat kinds of tasks can be handled. Computers can carry outonly mathematical operations. They can be interfaced withother physical devices, but then become controllers (perhapsfor robots).

"Pick and place" means acting at location A, moving to B,then performing another action at B.

The route for getting from A to B is not important. It’sthe simplest type of robot. All you have to do is figure outmechanisms to perform the actions at A and B, then pick froma variety of mechanisms to get from A to B.

But, don't misunderstand: these robots are not easy todesign! The real question is, just how flexible do you wantthe robot to be?

With robots, moreflexibility means lessefficiency.

computer interfacecontroller+ robot

Robots, on the other hand, carry out tasks on tangiblethings: materials, parts, tools, specialized devices. Dealing withtangible as opposed to abstract things makes the robot a farmore complicated device.

The concept of a robot is also more modern. "Robot"was first used in 1921 by the Czech playwright Karel Capekin his play, Rossum’s Universal Robots. It comes from the Czechword robota which means ‘serf ’ or ‘forced workers’.

Robot characteristicsRemember, a robot is reprogrammable so that with some

sort of reconfiguring, it should be able to carry out a range ofsimilar tasks. What types of robots are there?

1) "pick and place" - moving an item from aconveyor belt into a box.

2) continuous path control - welding a seamalong the edges of adjacent pieces of steel.

3) sensory - capable of 1 or 2, with the added ability tofeel the piece on the conveyor belt or sense the track ofthe desired weld path.

photo exampleof pick and place

photo exampleof continuouspath controlrobot

photo exampleof sensory robot

The more flexible the robot, the less efficient it will be.But a different robot for each slightly different task is costly.

Where's the tradeoff? It's an engineering question.

Would you want thesame robot to be able toplace eggs in crates from aconveyor belt...

...and also move automobileengines from a test stand toan assembly line?

Page 5: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

obotics9

R5

6/21/02

Continuous path control robots can be much morecomplicated. These robots must exhibit continuous, precisecontrol of their actuator(s) as they move along their specifiedpath from A to B.

Both the path and the speed along the path can beimportant. Robotic welders obviously must follow theintersection of the pieces it is trying to join, but it must alsotravel at a constant rate to produce a uniform weld joint.

We will see later the problems that this requirementposes.

Tasks can be performed in one of two ways: "open loop",which means no feedback, deterministic; or "closed loop" —with feedback control.

Robots can be designed for "pick and place" and"continuous control" tasks as open loop. An example of thismight be picking up a bottle on a conveyor belt.

But if a bottle is too far away from where it is supposedto be, a robotic arm will miss the bottle.

To address that problem, we could design the robot tohave some sort of "vision" or mechanical sensor to detectwhere the bottle actually is.

Then, we can use that position information to define theaction of the robotic arm.

Such a system would be "closed loop", because themotion of the arm is being determined by the bottle'sposition. The arm "senses" where the bottle is.

Sensory control is yet another level of complication inrobots.

In some cases the control can be simple, e.g., reflection-actuated direction control which allows a robot to follow ayellow line on the floor.

Ask questions. Then, tryto answer them.

Over time, yourquestions may becomemore insightful, yoursolutions more elegant.

open loop:bottle on con-veyor belt, miss

closed loop:bottle on belt,grasp, w/diagramor drawingshowing sensing

Here, for example, three light sensors might detect thereflectivity of the line on the floor.

If the middle sensor "sees" the line, the robot is on theright track. If the left sensor detects the line, then the robot istoo far to the right.

So how do you use this information in programming arobot to follow the line?

One way would be to link the sensor output to a steeringdevice: turn left, go straight, turn right. But how much left orright? The robot could oscillate rather wildly along the line.

What might you build in to a control system to preventthis from happening? Sophistication in handling the sensoroutput? Maybe a different sensor system altogether? Thinkabout this.

There are always two issues:

What is the sensory signal you will use, and what willyou do with the signal?

Page 6: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

obotics9

R6

6/21/02

As computers become more powerful, more robots willprobably be using television cameras as sensory devices.

In these cases, the real sensing consists of image process-ing, or the extraction of information from images.

Image processing can be used to determine, for example,the orientation of a part on an conveyor belt so the graspingmechanism can be rotated properly to pick the piece up.

Or, it can detect the beginning and end of a seam to bewelded.

But all this must be done in real time. Edge detection,pattern recognition, and image enhancement are techniquesof image processing.

Robots move. Some are stationary and move only theirappendages; others are mobile, and, in addition to movingtheir arms, move from place to place.

How well they move is extremely important, because howwell they move determines what they're good for. We canidentify a number of characteristics that affect performance.

First, there is the working volume, the space within whichthe robot operates.

But there is a tradeoff. Mobile robots obviously will havea larger spatial range than stationary robots, but their controlis much more difficult and expensive.

There are fivecharacteristics thataffect a robot’sperformance:working volume, speed,repeatability,resolution, andaccuracy.

photo of roboticwelder

photo ofrobot inits space

photo of robot inmotion (blurry)

Since a robot is built withmechanical linkages, there isalmost always a spatial limit toits tasks. Usually the bigger thevolume, the better. A largerworking volume suggests that awider variety of tasks could beperformed.

Second, we might ask howquickly can the robot performa task, i.e., what is the speedand acceleration of its actua-tors.

Can it move 20 objectsper minute or 200 objects perminute?

Sometimes speed is not an issue.

In robotic welding, for example, the rate at which a seamcan be welded is usually not limited by the speed of therobot, but by the speed at which a good joint can be made.But for other things, like testing the contacts on a 186-pinmicroprocessor chip, speed is money.

Third, repeatability. Will the mechanism always return tothe same point under the same control conditions?

This is not just an issue with robots. Almost anythingmechanical has some "slop" in its system.

An experimenter always "dials in" a value with a knob onan instrument from the same direction, say, on a high-precision potentiometer. This is because there is often a littleplay between the indicator on the knob and its action.

In robots, the problem is usually worse, because there istypically a sequence of links, each having play.

Page 7: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

obotics9

R7

6/21/02

Further, loads may affect repeatability. That is, a fixedcontrol condition may produce different positions dependingon the load. This is a tough problem because it may alsodepend on an arm's orientation.

Then, there is resolution. What is the smallest "step" therobot can take?

Suppose we have a single-arm robot whose arm tipposition is set by a stepper motor which can be programmedin one-degree increments. If the arm is 1 meter long, theresolution will be no better than 1.7 cm.

Is that good enough? It depends on the application.

Finally, we can list accuracy. Accuracy is the differencebetween the actual position of the robot (or arm) and theprogrammed position.

A robot might be accurate, but not repeatable—i.e., overa series of attempts at reaching the desired position, therobot would, on average, cluster around the target, but havesubstantial positional error on each attempt.

Or, a robot might be inaccurate and repeatable. It wouldconstantly miss the target, but its attempts would clustertightly together at some other location.

These five attributes of robotic behavior are issues for allrobots. They are affected by design, by materials, by loads, byconstruction quality.

But these are the details of how robots are put together.How can we specify the positions—from one link to the next?Here we must turn to kinematics and dynamics.

Kinematics and dynamicsKinematics is the physics of motion. It prescribes what goeson mechanically, but isn’t concerned with forces or momen-tum. That's the realm of dynamics. Dynamics is the moredifficult subject.

We'll touch on dynamics a little later. For now we'll focuson kinematics.

Robots have varying abilities to move. Some might onlybe able to extend or retract. Others are able to move in anydirection and simultaneously rotate its actuator arm. Whatwe're specifying here are degrees of freedom—the number ofindependent motions a robot can make.

There are two basic sets of motions: translation androtation.

There are two basic setsof motions: translationand rotation.

kinematics is the physicsof motion.

Translation is motion frompoint A to point B. It can takeplace in one, two, or threedimensions.

Rotation is motion at afixed point. Again, it can takeplace with respect to one, two,or three independent axes.

Between the two types of motion—translation androtation—all motions can be accounted for.

Full three-dimensional motion requires 6 degrees offreedom: 3 degrees in translation, 3 in rotation. A roboticarm that can only extend or contract and, say, twist itsactuator on the axis of the arm has only two degrees offreedom: 1 translation, 1 rotation.

illustrate “if arm is1 m long, theresolution will beno better than 1.7cm.” - diagram.

animation of “arobot might beaccurate, but notrepeatable...”graph

animation: persontaking a step/

person twirling inone spot

Page 8: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

obotics9

R8

6/21/02

More degrees of freedom implies more versatility andlarger working volume. More degrees of freedom, however,also imply higher costs, less accuracy, and lower repeatability.

Consequently, robots are usually designed having thefewest number of degrees of freedom to do the job.

Robots are usually constructed of rigid members whosemotions with respect to one another are afforded through thejoints that hold them together. It is the properties of thesejoints that give robots their mechanical maneuverability.

Basically, there are only two types of joints: prismatic andrevolute.

It's easy to see that this action could be replicated withone prismatic joint and one hinge joint.

One can construct a variety of mechanical joints. We'vementioned a few: ball-and-socket, cylindrical shaft in cylindri-cal tube. But the motions of all joints can always be reducedto a combination of the two basic types: prismatic andrevolute.

There are two types ofjoints: prismatic andrevolute.

Prismatic joints slide, e.g., asquare cylinder in a squaretube. Revolute joints or hingejoints rotate. So revolute jointsallow angles between membersto change.

A ball-and-socket joint canbe thought of as three hingejoints. It has three degrees offreedom in rotation.

So, the action of a ball-and-socket joint can beduplicated by the combinedaction of three hinge joints. Acylindrical shaft in a cylindricaltube can rotate and extend.

The reason we want to reduce their actions to combina-tions of more primitive types is so we can mathematicallydescribe them more easily. We'll see this a little later.

We've mentioned the actions of mechanical joints. That'smotion within the robot. Let's not forget the motion of therobot itself. Again, whether the robot turns on an axis, moveson wheels, or swims through water, the actions can bereduced to the primitive forms.

Now that we've touched on the conceptual ideas ofrobots, we must turn to the messy stuff — the mathematicsthat describes their actions.

(optional photo)

prismatic: squarecylinder in squaretube

revolute: ball-and-socket joint

robot with joints,diagrammed?(both types?-)

Prismatic joints slide.Revolute joints rotate.

Page 9: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

��������

��

�����������

"��(��+��������������������������������������������������������������� ��������������� ������������=���(������������������������ �� �� ������������������������������� �(���� �������������������������������������� �����

����������������������� ������������� ��������������������� �������������� ��� ����������� ����(���(�������(������� �� �������������

"������� �����������,� �����1������(����#

��� ��� ����������������� �������������������� ������.� �����������,����!1�����(������������������������������� ��������������!�� �������� �����

&� ��������������������������������������������� ������������� ������������� �!������������(�������������� ������� ����������, �����!1������

%������������ ������������������������������� ���������� ������������������������� ����:��������������� ��������������������� ��������� �

;�(������������������������� �������� ������ ����������(����������������������������(��������������� ������������ ���� ������������������

x

z

y

�’

z’ x’

z’’

r’ (x,y,0)

(r’,�’,z’)

(x’’,y’’,z’’)

=���(���������������� �������� ����������, �����!1�������������(������������������������ ������ ���������, �����1����������������������������(��������

0� ��������(����������� ������������ ������� ��� ���������(�������������� ���9��������������������� �� ����������������������(��������������������������������� ������ ������������������� �� ������

<� ����������� �����(��(����������,����!1��������*��(��������(�������, �����!1��� ������ ������,����!1�������� ����������������������������� �,����!1����������� �������������� ������������'(� �'���� ������

*������ ������� ����� ������� ��� ��������������������

�����������������������������������������������������(���� �������������� ���������������������������������� ��

�&� ���(

�&� "���!��

�������������������"�&������������������ ����

'�������"� ����� ������ ��� ����������������� ���

Page 10: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

��������

�����������

<�(���(������������������������� #

<� ������������������������������������ ��� ���� ����� ����������:�,����!1��, +���+�!+1�����,�++��++�!++1�

���� �������� �������� ������ �������������C����������� �� ������������������������������������ ������������� ������ ���������������� ������������������

$� ��������������+����������������������� ����������9����(����������

%��(��(������� �����������������+���+�(���� ���������� �������� ���������� ������������+�������(� ����� ��������������(�� �������+�������� ������(���� ��������������������� �����������������(������( �����(���������������:

���G���+����������+���������G��+�������H��+�����

%����� ����� �������(������

,*��������������������� �������� ��1

����>���>���� ��������������� ����������� ���������������������������������� �� �����������+�G�����*����������������� ������ ��������� ���� �������

"��������������� ������� ��������#��%��������������� �� ������������� ����������������� �������������������+�G�������

%����� �+������ ������������ ���������������(�������������������� ������� ���� ����������������������������������G����+�������0����� ���(����������������������������� �����������

=

−y

x

y

x

cos sin

sin cos

θθθθ

x

z

y

�’

z’ x’

z’’

r’ (x,y,0)

(r’,�’,z’)

(x’’,y’’,z’’)

"��(�������� �� ����������������������������������(� ����� �����������,����!1����%�+�������������

=��������(��������������� ���������� ������������������������������������������� ������������ ����������� ������� ���� �������

��� ��� ���(������������������������(������� ���������:����������� ������������������������ �����������

%���������������� � ������������������(�����������������++�����,���� ��� ������ ������������������ 1������ ����������������+�������,���� ��� ������ ������������ �1���&�������+���������� ������������ ����������������������,���(� �� ��� ������ ���1�

(������� �����������"����������������������������� ����"�������"��������� ���������

)���"�������������������������"���"������"�

Page 11: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

��������

�����������

<������������������������� ���� ���������� ���������������(�������������� ��� �:

<6�G ������

������-���-� ����������� �����������-���6�� ������������� �

*���<6������������� �������� ������� ���� ������������������������� ���������� ����������������������������������(��

"�+���9�������������� ������������ ������������(���� ����������� ������� �����:������ ��������������������������� ��������,��� ������1�

%���� ������(��������������������(����� �������������������������������� ������� ���� �������

.���� ����������(������� ������������

GGI���G�<6��+��

*������������ �����+���� ����������������� ����������������G��������

����������� �������������(� ����� ����������������G��������������������������(��� ���� ���������� ��������������������������� ���������������� ���� �������� ������������

%����� ��� �����������)������(��������(����� ������������������������ ���������������������������������������������(� ����� ������������

��G�����������������G��������

����������� ���� ���������������������������+������������������������������� ���� ���������� ������������ ���������������� �����������������������������������(� ����� ��������

��������������������������� ����� ����:����������� ������� ���� �������

*���� �(�+���������������������������������������������������� ���� ���� ��������������������� �������"������+����������������������������������� ���������� �����������(� �� ��������

"��(��?�������������������� ��� ����������+���������������

=

1

10001332313

322212

312111

z

y

x

keee

keee

keee

z

y

x

z

y

x

1000

kR

���!��"�� �������&��� � ���������� ������� ������&�� �!(��������&������!

������������������������ �����������������������"���������� ����&�����

Page 12: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

obotics9

R12

6/21/02

Just remember: robotic arms have mass and inertia. Sowhen they're reaching for an object or swinging around toplace an object, they contribute to the energetics of thesystem.

This is all described by a system of differential equations.

With motor and gears, robotic segments can be preciselypositioned anywhere along a continuum of positions.

An example of a robot thattakes vibration seriously isIBM's "hummingbird" — arobotic probe that checkscontacts on computer chips.

Watch the movie clip. It'sall about speed, positionalaccuracy, and dynamic balance.

We've discussed linkages and coordinate systems, but wehaven't discussed how robots might move, i.e., what sort of"actuator" might be used.

In fact, there are three basic types:

1) solenoids - which yield two positions, e.g., in and out;

2) motors + gears, belts, screws, and levers - which yielda continuum of positions; and

3) stepper motors - which yield a range of positions insmall but discrete increments.

A solenoid can extend/contract or open/close. That's it.

The action is binary. There are no in-between states.There is no control over how quickly the action is executed.

But the actuator system could be very complicated.Have you ever seen the tape transport mechanism of a VCR?

Stepper motors produce discrete changes in positionwhich depend on the resolution of the stepper motor.

One positive electrical pulse to the motor causes theshaft to rotate ∆θ. One negative pulse causes the shaft torotate -∆θ. Five positive pulses cause the shaft to rotate 5∆θ.

It's easy to imagine how complex motions might beeffected with this system.

Which actuator— solenoid, motor and gear, or steppermotor— should be used?

solenoid motor +gear

steppermotor

a solenoid canextend/contractor open/close.

example of abovesentence; or, VCRtransport mecha-nism

There are three basictypes of actuators:solenoids, motors &gears, and steppermotors.

Page 13: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

��������

��

�����������

*�������� ����������3��� ������� �� ����������������������������������(� ���������������+�� �������� ������������ �����������

*���������������������� ��(��������������(����������������������#��0 �����������������������������������(������������������ ������������������#���������������� ������������������ ������������������� �����

*������(��(���������������� ������������������� ��������9����

0�����������������������������(���������������:���(���������� ��(������������������������������������������� ������(��( ������������ �9�����(������������������ ���!��

<�(�(�������������� ���!����������������#��� ��������������(������������ �� �������������������������� � ���������������������(����������������������

������������������������� ���������� ������������������������������9������������������"�+�������� ������ ���������������������� �

&�������� ������������(��� ���������������������������"���������� ��� ������(������������������������(���������� �������� ����� ������

.���� ��� �����(���������������������������������������� ���������������� ���� �������� �����(������(��������������������������������������������

$� �������������������������:�����������������������������(������(���� ������������������� ���5<D�� ���� �M ��.�� ��9�������������������'���� � ������'� ������������

A C B

000

A C B

100

A C B

010

A C B

001

A C B

110

A C B

101

A C B

011

A C B

111

<� �+�������������(������������.���� ��� ������� ��������������������������������������������

�(�������������������������������C��������� ��� ���&�=�����.�������(���������,����1����� �������������������������������������������������� �� �����,��1�� �������,���1�

����������������� �������������� ���������������������&��=��.���&���������������������������������� ������� ������� ������)����������� �� ����������������������������

%����'8'� �� ����� �� �������������868�(���� �� �������������(���������&����.�� �� �� ��������������=�������������� ��� ��>N-�G�7���������������<� �������� �:

��������� ������ ��� � ��!����!

Page 14: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

��������

��

�����������

"����(�+ ������ ������������� ������������������������������������������������%��888�������'���'�������� �����������666������������������� ����������������686���������������������������668���������������������� �����

;�(�����������������������������������(� �������������� ������������������������������

"��(�������������������������������� �������������������������������� ������������ ���"���������� ���������������������������(�������������666���"�������( ��������������������� ����(�������������668�

"�������� ������������������ ������������ ��(������������������������ ��������(� ��� ������9�����( ��������� �����������9��������������������������� �������������

$� ��� �����������9����(� ��������������� ��������(������� �� ���������������������� ����������� �������

/ ���������� @

'<��� � ������'�������������� ��� �������(������ �������������������������� ������� �� ����������%������������������������������� ���������� ����������9�����������������

�������������� �����������������������(����������������������������

����'����'������688�������� ������������������������� �� ���������������688��� ������������ �

=������������������������������������ �������������)����(�����������#��&������������������#��<�(���������� �������������������� ����(�����������#

%�+������������������������������������(�������������������C�(���+����� �����#

�����(�������(����������������� ������������� ������������������%����������������������������688������������ ���������������������������������������������������������7688��������������� ��������&������������������������(�������������(�����������������(������������

��� ��� ������������������ �����:��������������������)������������ �����688�9��������� ��������������� �������������������� ����������� ������� ������ �������� ���� �����������������������������������������

"�������+����������������������� �����*�����+�������������������������������� ��������

���$�

��������� ������ �������������������������

Page 15: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

��������

��

�����������

��?��� ������������ �����(����688����������.���� �� �����(����������(��

<� �+������ ������

*������(����������(��������� �������� �������������������������������������������������������������������

������ ���������������������������� 6�G� >��G� ���������������������� �������������� ��������������� ���� ����������������������� ���������� �� ����������

����� ������������ �� ��������(������� ����� ���������������������� ������ ��,���������� >1������(������������G������

=��������� ������������������������������ ��+����

"�+����������������������� ����� ������������ ������������� �������(�� ���

��������������� ������������������������������������� ���� ����� ��������������������� ������������������� ��������� ������

&����� �� ��������������(���������������������������� ���8����6���*�������������������� ��

�������������

��������� ������������������ ��������� ����������������� ���������� �� ��������������������

���������� ����������&������������������������� �������� ������������,8�81���������������������� �������

��G� �,������H�����

�1

��G� �,������H�����

�1

%��(��(��������� ���������������(������ �������������� ����� �(������ �� ���������������

������

��

&��������

����������������������������������� ������

%����������������������� ��������������� ����������(�������������� ��������������(�������� ������������������������������� ������������������

������

��

D������������������� ����������������������(���������������

;����������������������������������������������� ����������(������ ����������� ���������� ��������� ��������������������������

20)( ttt βαθθ ++=

dt

d

( )22111 sinsin θθθθ ��� +−= Lx

( ) 0coscos 22111 =+= θθθθ ��� Ly

��&������ ���� � ����� � ��!� ������ �� � �����'�������"�#&"�����

Page 16: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

obotics9

R16

6/21/02

Assuming that the arm tip is initially at the desired valueof y, what strategies can one use to move the tip along x, sayin the interval from xbegin to xend, while keeping y = const.?

There are three straightforward ones.

The simplest approach is to calculate the rates of changeof θ1 and θ2 for y = const. for the initial values of θ1 and θ2 ,i.e., determine values for α1and α2 (here, the subscripts referto the motors) such that and β1 = β2 = 0.

Setting the latter equation equal to zero gives us thecondition that the y-position of the arm tip does not change,i.e., y = constant.

These equations give the simple result:

This says that the rate of change of θ2 is proportional tothe rate of change of θ1, but the rate of proportionalitydepends on the values of θ1 and θ2.

As simple as this robotics problem is, there is no closed-form solution. We cannot produce an explicit recipe whichwill ensure that, as θ1 changes, θ2 will change in such a waythat the y-position of the arm tip is constant.

Since there is no mathematical solution, we must try tofind an engineering solution— an approximation. Within thisapproximation we will have to accept some minor variationsin y.

Further, we might not be able to find even an approxi-mate solution that will work throughout the entire range ofmotion of the arm.

So, moving the arm tip through its maximum range of xmight have to be accomplished through a sequence ofprogram steps that define different rates of changing θ1 andθ2.

Recall that each motor can be programmed to rotate as .

These parameters are all we have to work with to makethe arm move correctly. To get a visual feel for how an armtip moves as a function of the angular speeds of steppermotors, you can check out the robotic arm simulation athttp:\\www.jhu.edu\virtlab\robot.htm.

You can also use the simulation to try out the strategiesoutlined below.

2

112 cos

cosθθθθ && −=

)cos()cos(

2

1

0

0

2

1

θθ

αα

=2

0)( ttt βαθθ ++=

Page 17: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

��������

��

�����������

����(������� ������������ ������(������������ ���������� �9���� �������G��������%������� ������������ �������������������(��������� �� �� ����������������������� ������� �����������������������������

������

���� �������� ���������

������������������ ��������������

&���(�� ����(�������� �������� ��������� �(���� ��������������������������?���� ������

����� ��������� �����������������������

�����(����� ����

�,�1�G���������������������������������������� ������� �(��������� ����������������

������ ��� ������ ������������(���� ����������������������������� ��� ���������(������������ ��������������������������%������ �(� ����������������� ���G������������������� �������������������������� ������������������������ ��������� ������ ����

&������ �������������������������� ���������������� ���������9������������������������������� ��������� ���� ��

������ ������� �����(��������� ������%���������������� �����(������������������(�������������

=�������������������� ��� �������������� ����������(������������� ������(� �)����������� ������

���� �������������(��������������� �� ������� �����������������

������

����������

������

��������������� ��������

��������������������� ���(���������������� �����������

"����+���������������������������������������� �����������

%������� ����������������������������������������������������������������������������� ���������������

<� ������������������������������ ������(���� �����(��������������(������ � ����

0=dt

dy

0=dt

dy

0=dt

dy

&������� ����������������(�������� �������� ������������P������������������������������������� ����������� ������ ����������=�����������������������(��������� ��� ���������� ���������� �������������������������� �

"����(�� ����������� ���� ���� �����������

����������(���

������������������������������������������ ���G������������� �����������

����������(�������� ������������������(�����������������������(��������*������+����������������������� ��������������������������

&��������������� �����������688�����������������������������(�+ ������ �������� ��� ��������G�7L���������������������������� ������ �����������

����

������������������

�G688Q,�������������

������7L�

��������������������� ��G����������?����������������������

���(����������������11 =

dt

dθ dt

d

dt

d 1

2

12

)cos(

)cos( θθθθ −=

����� ���1�&7&8

�"�� ����������& � ���,,

Page 18: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

��������

��

�����������

$� ���(�����(�������������� ������ �����#

��� ��� ����� ��� �������������:������

������������������������

=����������������� ������� ����������� ������

��

&��(�? ����������� ���(�������������������������������������"���� ������������������������������ � �����

*�������������� ������������������ ��� � ���C��� �������������������

;�(�������������� ������� ����

%�������������� ������������������������������������ ���������������� ���(�����

��

����� ��������������� ����������������������������������� ������� ����� � ������������������� ����,������������������1�������������� ����������� ���������� �������

��(����������"������������(������ �������� �� ������������������

*�����(���� ������(����������� �� ����� �������������������������������������������� �� �����������)

)����������������� �������� ��������,�1�����������

��� �� ����� ���������������������������� ��� ������������������� ��� ��(����������� �����������

*������������������ ��������(����������(�����������& ��������� ���������� �������������������� �����(��������� ����� ������������� ����������(������� ������

��

�������� �� ����������(������� ����� �����G8��� ������G6�

$� �����������������������

��������������� ��������������������

��� ���� ������ ���������������������

&����������������������������,�������� �����������������

�����G�6�(��������������

����&��������(��������������������(�����

��������

�������������������������������������������������������G6�

������ ����������������(����������������������������������

� �������������� ��������������� ��������������������������������������������������

D�� ������������� ������������������� ������������������������������� ������(��������� ��� �������G��������=�����(�����������9��������������������� ������� ������ �����*������������������� �������������������������������������&���������� ����������������������������� �������

dθ 2 / dt vs θ 1 with dθ 1/dt=1

-1,5-1

-0,50

0,5

11,5

22,5

0 50 100 150 200

θ1

d2/

dt

dt

d 1θdt

d 2θ

dt

d 1θ

dt

d 2θ

11 =dt

dt

d 1θdt

d 2θ

11 =dt

dt

d 1θ

dt

d 2θ

dt

d 1θ

dt

d 2θ

dt

d 1θdt

d 2θ

������ ���������� ������!�!:

Page 19: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

obotics9

R19

6/21/02

Robotics is a tough field of study. And, we haven't eventalked about the difficult things like feedback control, haptics,and self-duplication.

Feedback controlFeedback control requires sensing— maybe by touch, maybeby sight, maybe by smell— then processing that informationto arrive at an automated course of action.

HapticsWhat is haptics? Haptics is the study of feel or sense oftouch. Imagine a surgeon performing a remote appendec-tomy. She's in one hospital with a robotic controller, whilethe patient is in another hospital next to a remote controlledscalpel.

The doctor can see the robotic scalpel's action via video.But to really carry out the operation, she must be able to feelthe scalpel's progress during the incision, to sense when it iscutting through skin, muscle, and the appendix wall. Howdoes one create that sense of feel—the varying resistance ofthe scalpel—in the controller held by a surgeon miles away?

That's the haptics problem: to sense changes in resis-tance, transmit them back to the controller, then simulatethose changes in the hands of the operator.

Self-replicationSelf-replication is one of the holy grails in robotics. Is itpossible to design a robot which is capable of building aduplicate of itself— given, of course, that the raw materialsare in close proximity. Plants do it all the time. Start with anapple. Nurture one of the seeds. In a few years you have lotsmore apples. Is it possible to do the same thing with physicalrather than biological systems?

NASA is very interested in such a device for planetaryexploration because it would dramatically reduce "transporta-tion costs". One small self-replicating robot could be sent tothe moon. It would seek out materials and build others onlocation. Collectively, the robots could perform a wide varietyof tasks.

Think of designing arobot to chase rabbits fromthe garden. Your robot wouldhave to sense, maybe bypattern recognition, objectsthat move and are about thesize of rabbits, determine theirlocation, then chase them.

But not too far. You don'twant your robot to follow thething to the next county—just away from the garden.How would you programthat? And you wouldn't wantthe robot to run over yourplants, so you might have todevise a chase strategy thatwould not be a straight linetoward the rabbit.

There are many complications, and many interestingproblems.

rabbit ingarden withflowers

focus onflowers (spotshot)

Feedback control re-quires sensing.

Haptics is the study offeel or sense of touch.

Self-replication in-volves the duplicationof systems.

Page 20: Roboticsvirtlab/finals/FINALS/9/robotics.pdfphoto of Kismet Differential equations for describing motion, matrix manipulation for defining position, and Laplace transforma-tions for

obotics9

R20

6/21/02

Did I mention size?

We can conceive of robots taking bottles off a conveyerbelt and robots to chase rabbits from gardens, but whatabout something smaller— a lot smaller.

It can build anything— diamond crystals, proteins,'designer' molecules. If you're interesting in winning $250K,build one. That's the prize offered by the Foresight Institute.(You also have to build a nanocomputer to get the prize.)

It's named the Feynman Grand Prize, because it wasFeynman who foresaw the whole field.

If you're interested in the possibilities of machines androbots at the molecular level, pick up Engines of Creation:The Coming Era of Nanotechnology by K. Eric Drexler.

Robotics is a fascinating and challenging field. And we'reonly at the beginning!

Richard Feynman, one ofthe more colorful and imagina-tive Nobel laureates, began tothink of miniature-sized robotsas early as 1959.

He noted the biomedicalpotential of micro-engineeringin a lecture:

"A friend of mine suggests a very interesting possibilityfor relatively small machines," he said. "Although it is a verywild idea, it would be interesting in surgery if you couldswallow the surgeon.

“You put the mechanicalsurgeon inside the blood vesseland it goes into the heart and'looks' around (of course theinformation has to be fed out).It finds out which valve is thefaulty one and takes a littleknife and slices it out."

We can even think smaller than swallowed surgeons. Wecan think on a nanoscale. Imagine a robotic arm so small thatit is able to assemble a structure one atom at a time.

joint/actuator

mathequationcloseup

kismet +prof

feynman photo

endoscopy?

atoms?

“Although it is a verywild idea, it would beinteresting in surgery ifyou could swallow thesurgeon.”