Você está na página 1de 6

ROBOTICS

Definition: A robot is a reprogrammable, multifunctional manipulator designed to


move material, parts, tools or specialized devices through variable programmed motions
for the performance of a variety of tasks: Robot Institute of America, 1979
Laws of Robotics:
Law 1: A robot may not injure a human being or through inaction a!!ow a
human being to come to harm
Law ": A robot must obey or#ers gi$en to it by human beings e%ce&t where
such or#ers wou!# conf!ict with a higher or#er !aw
Law ': A robot must &rotect its own e%istence as !ong as such &rotection #oes
not conf!ict with a higher or#er !aw
(now!e#gebase for Robotics
Ty&ica! )now!e#gebase for the #esign an# o&eration of robotics systems
! Dynamic system mo#e!ing an# ana!ysis
! *ee#bac) contro!
! Sensors an# signa! con#itioning
! Actuators an# &ower e!ectronics
! +ar#ware,com&uter interfacing
! Com&uter &rogramming
(ey Com&onents
Sensors: Robot sensors: measure robot configuration,con#ition an# its
en$ironment an# sen# such information to robot contro!!er as e!ectronic
signa!s -e.g. arm &osition &resence of to%ic gas/
0ision Sensor: e.g. to &ic) bins &erform ins&ection etc.
*orce Sensor: e.g. &arts fitting an# insertion force fee#bac) in
robotic surgery
Ti!t sensors: e.g. to ba!ance a robot
Actuators: Common robotic actuators uti!i1e combinations of #ifferent
e!ectro2mechanica! #e$ices
Synchronous motor
Ste&&er motor
AC ser$o motor
Brush!ess DC ser$o motor
Brushe# DC ser$o motor
Contro!!er:
3ro$i#e necessary inte!!igence to contro! the mani&u!ator,mobi!e
robot
"ase
#anipulator
linkage
$ontroller
%ensors
Actuators
&ser interface
'o(er conversion
unit
3rocess the sensory information an# com&ute the contro! comman#s for the
actuators to carry out s&ecifie# tas)s.
Contro!!er +ar#ware:
Storage #e$ices: e.g. memory to store the contro! &rogram an# the
state of the robot system obtaine# from the sensors
Com&utationa! engine that com&utes the contro! comman#s
Interface units: +ar#ware to interface #igita! contro!!er with the
e%terna! wor!# -sensors an# actuators/
Robot &rogramming !anguages are use# for two &ur&oses: to #efine the tas)
the robot is to &erform an# to s&ecify an# contro! the tas) e%ecution.
There can be three ty&es of robot &rogrammers:
-1/ users -or robot o&erators/
-"/ a&&!ication &rogrammers -i.e. e%&erts in certain a&&!ications/ an#
-'/ system &rogrammers -robot e%&erts who can #ea! with !ow2!e$e! rea!2time
&rogramming/.
To #ea! with these issues a hierarchica! a&&roach has been a#o&te# to #esign robot2
&rogramming !anguages.
Three !e$e!s of &rogramming !anguages
-a/Teach by showing: the earliest (ay to command a robot for simple operations) *ittle
e+plicit programming is re,uired, and it is relatively easy to master by a user (ith little
kno(ledge of robotics) A teach pendant is usually used as the input device for the user)
-eaching is also used for initializing the location variables of a robot.level program or
used for ac,uiring the tool transform (hen the dimensions /i)e) size0 of a tool is
unkno(n)
1o(ever, teaching does not provide run.time fle+ibility and is rather tedious even for
very simple operations)
-b/Robot2!e$e! &rogramming !anguages: for specifying and programming robot
motions directly) -he statements in such a language are robot.oriented, i)e), in terms of
the robot2s actions rather than the ob3ects it manipulates) -he programmer should have
kno(ledge of robotics)
-here are three approaches to(ards designing a robot.level programming languages:
4esign from scratch: such as *#, 5A67, 6A*) -hese languages (ere evolved
during the development of specific robots and usually only support the facilities
re,uired by the respective robots)
#odify a conventional programming language: this approach results in a general.
purpose language that is able to handle robot motion commands in addition to
general computing commands) 7+amples: A*, A#*)
Add a robot library to an e+isting programming language: a library of robot.
specific subroutines are added to a conventional programming language to
facilitate programming robot motions) 8or e+ample, the 9ebra 97R: force
control robot is e,uipped (ith such a library for $, so that one can (rite a $
program to control the robot by calling those robot.specific subroutines)
-c/Tas)2!e$e! &rogramming !anguages: facilitates application programmers to (rite
task.oriented instructions in terms of the task or ob3ects to be handled rather than the
robot motion) 8or e+ample, ;grasp the bolt< or ;insert the peg<) $learly, such a language
re,uires the support of various planners to convert the task.level commands into robot.
level actions) -here are some early attempts of task.level features in languages such as
*A#A, A&-:'A%%, and RA'-, but a truly task.oriented, high.level language is yet to
become reality and is still the goal of much research effort /in robot.level planning0)
S&ecia! re4uirements of robot &rogramming on com&uter systems
Robot programming poses special challenges=re,uirements on computer systems and
programming:
Contro! motion
-o initiate motion is certain re,uired) -he more tricky part is about terminating a motion
command) A ;#:67< command cannot terminate until the motion has ceased but the
robot.level program may pause during the e+ecution of a motion command so that other
programs can e+ecute)
-his may include obtaining a sensor input to modify the tra3ectory) -here must be a (ay
to modify the motion command to effect the change in tra3ectory)
Concurrency
-(o distinct levels of parallelism e+ist (ithin a robot) At the 3oint level, the programs
must concurrently control the 3oint motions to achieve the desired $artesian motion of the
end effector) At a higher level, a robot may (ork in parallel (ith other robots and the
e+ternal sensors)
As in conventional programming systems, concurrency can be achieved in three (ays:
parallel processing, multitasking operating systems, and concurrent language constructs)
Inter&rocess communication
$oncurrent processes cannot run in isolation: they must communicate (ith other
processes) -here are three models to achieve that: shared memory, remote.procedure call,
and message passing)
Synchroni1ation with e%terna! e$ents
%ince robots manipulate physical ob3ects, programs controlling the robot must be
synchronized (ith events e+ternal to the computer) -here are usually three kinds of
e+ternal events:
. Initiation events /e)g), a part arrives on a conveyor, (hich triggers certain
actions of the robot0
. -ermination events /e)g), a motion is completed0
. 7rror events /(hich causes abnormal termination0
/7)g), failure to grasp, collision (ith obstacles etc)0
&nlike in conventional programming, a robot programmer must deal (ith termination
events) After a motion command, the programmer must (rite codes to check (hether the
motion is done successfully before proceeding to the ne+t action)
5$ent #etection an# res&onse in rea! time
As commonly used in computing: polling or interrupts are used to detect events)
O&erating on sensor $ariab!es
5hen a sensor variable is referenced in a program, it must be updated to match the
sensed value before it is used) &pdating can be done in t(o (ays: by re,uest or by
regular sampling:
. "y re,uest: each time a sensor variable is referenced, a function is called to
read the sensor and get the input) In effect, the compiler replaces the sensor
variable (ith a call to a user.defined function)
Advantage: the data obtained is al(ays up.to.date)
Disadvantage: it slo(s do(n the program)
. "y regular sampling: sensor input is updated regularly) 7ach time the sensor
variable is referenced, the program simply uses the current value of the
variable)
Advantage: it does not affect the speed of the program)
Disadvantage: depending on the sampling rate, the sensor value may not be
up.to.date)
Initia!i1ation an# termination of robot
&nlike conventional programming, initialization of a robot program involves physically
initialize the configuration of the robot) >ormally, (e place the robot in a kno(n and safe
;home< location) 5hen a robot program terminates, it should move the robot back to its
home location, apply the brakes, and zero all controller outputs)
In summary, a robot programming system is a real-time computing system /(hich is a lot
more than fast computing0 re,uiring intimate interaction and synchronization (ith
physical events) -he timing constraints of real.time systems introduce a range of
debugging problems that are not found in conventional programming systems)
A&&!ications of Robotics:
S&ace e%&!oration
+ea!thcare
Domestic
6i!itary Defense
6anufacturing
Socia! 7se
Agricu!tura!

Você também pode gostar