The robot connects to a
computer, which keeps the pieces of the arm working together. This computer is
the controller. The controller functions as the "brain" of the robot.
The controller can also network to other systems, so that the robot may work
together with other machines, processes, or robots.
Given that the robot arm
movement is appropriate to its application, that the arm strength and rigidity
meet the payload needs and that servo drives provide the necessary speed of
response and resolution, a robot controller is required to manage the arm
articulations, its End Effector, and the interface with the workplace.
The simplest type of control, still widely used, is
"record-playback," or "lead-through". An operator
positions arm articulations to desired configurations. At each desired location
the articulation encoder positions are recorded in memory. Step by step,
an entire work-cycle sequence is recorded. Then in playback mode the
sequence is observed and modified.
As applications become more challenging, some jobs require continuous path control of an End Effector. For this action all articulations must be programmed in speeds appropriate to the particular task. This requires programming for the control of the robot. Robots today have controllers run by programs -- sets of instructions written in code. The program sets limits on what the robot can do. These requirements call into play sophisticated computer-based controllers and so-called robot languages. These languages permit a kind of robot control known as hierarchical control, in which decision making by the robot takes place on several levels. These levels are interconnected by feedback mechanisms that inform the next higher level of the status of previous actions. The advantage of a general-purpose robot arm is that it can be programmed to do many jobs. The disadvantage is that the programming tends to be a job for highly paid engineers. Even when a factory robot can perform a task more efficiently than a person, the job of programming it and setting up its workplace can be more trouble than its worth. Commotion Systems, a new California firm, is developing easier ways to program robots using pre-designed software modules. For now though, the job of "training" robots is still one of the main reasons that they are not used more. In the future, controllers with Artificial Intelligence could allow robots to think on their own, even program themselves. This could make robots more self-reliant and independent. Angelus Research has designed an intelligent motion controller for robots that mimics the brain's three-level structure, including instinctive, behavioral, and goal levels. The controller, which can be used in unpredictable circumstances, uses a Motorola 68HC11 microprocessor.
Feedback (Closed Loop)
Control
Open Loop Control
The alternative to closed loop
control is open loop control. This type of control does not require
the use of sensors, since state is not fed back into the system. Such
systems can operate (perform repetitive, state-independent tasks) only if they
are extremely well calibrated and their environment does not change in a way
that affects their performance. We have talked about feedback control so
far, but there is also an important notion of feed forward control.
In such a system, the controller determines set points and sub-goals for itself
ahead of time, without looking at actual state data.
Reactive Control
· fixed
priority hierarchy (processes have pre-assigned priorities)
· a dynamic
hierarchy (process priorities change at run-time)
· learning
(process priorities may be initialized or not, and are learned at run-time,
once or repeatedly/dynamically)
If a reactive system needs
to support parallelism, i.e., the ability to execute multiple rules at once, the underlying programming
language must have the ability to multi-task, i.e., execute several
processes/pieces of code in parallel. The ability to multi-task is critical in
reactive systems: if a system cannot monitor its sensors in parallel, but must
go from one to another in sequence, it may miss some event, or at least the
onset of an event, thus failing to react in time. Now that we understand
the building blocks of a reactive system (reactive rules coupling sensors and
effectors, i.e., situations and actions), we need to consider principled ways
of organizing reactive controllers. We will start with the best known reactive
control architecture, the Subsumption Architecture, introduced by Rod Brooks at
MIT in 1985.
The Subsumption
Architecture
The following are the
guiding principles of the architecture:
1.
Systems are built from the bottom up
2.
Components are task-achieving actions/behaviors (not functional
modules)
3.
Components can be executed in parallel
4.
Components are organized in layers, from the bottom up lowest
layers handle most basic tasks
5.
Newly added components and layers exploit the existing ones
6.
Each component provides and does not disrupt a tight coupling
between sensing and action
7.
There is no need for internal models: "the world is its own
best model"
Here is
a rough image of how the system works: If we number the layers from 0 up, we
can assume that the 0th layer is constructed, debugged, and installed first. As
layer 1 is added, layer 0 continues to function, but
may be influenced by layer 1, and so on up. If layer 1 fails, layer 0 is
unaffected. When layer 1 is designed, layer 0 is taken into consideration and
utilized, i.e., its existence is subsumed, thus the name of the
architecture. Layer 1 caninhibit the outputs of layer 0 or suppress
its inputs. Subsumption systems grow from the bottom up, and layers
can keep being added, depending on the tasks of the robot. How exactly layers
are split up depends on the specifics of the robot, the environment, and the
task. There is no strict recipe, but some solutions are better than others, and
most are derived empirically. The inspiration behind the Subsumption
Architecture is the evolutionary process, which introduces new
competencies based on the existing ones. Complete creatures are not thrown out
and new ones created from scratch; instead, solid, useful substrates are used
to build up to more complex capabilities.
Behavior Based Control
Behavior-based
systems (BBS) use behaviors as the underlying module of the system, i.e., they
use a behavioral decomposition. Behaviors can vary greatly from one BBS to
another, but typically have the following properties:
1.
Behaviors are feedback controllers
2.
Behaviors achieve specific tasks/goals (e.g., avoid-others,
find-friend, go-home)
3.
Behaviors are typically executed in parallel/concurrently
4.
Behaviors can store state and be used to construct world
models/representation
5.
Behaviors can directly connect sensors and effectors (i.ex., take
inputs from sensors and send outputs to effectors)
6.
Behaviors can also take inputs from other behaviors and send
outputs to other behaviors (this allows for building networks)
7.
Behaviors are typically higher-level than actions (go-home rather
than turn-left-by-37.5-degrees)
8.
Behaviors are typically closed-loop but extended in time (this is
often a consequence of #7 above)
9.
When assembled into distributed representations, behaviors can be
used to look ahead but at a time-scale comparable with the rest of the
behavior-based system
Behavior-based systems are
not limited in the ways that reactive systems are. As a result, behavior-based
systems have the following key properties:
1.
The ability to react in real-time
2.
The ability to use representations to generate efficient (not only
reactive) behavior
3.
The ability to use a uniform structure and representation
throughout the system (so no intermediate layer)
The key challenge is in how representation (i.e., any
form of world model) can be effectively distributed over the behavior structure. In order to
avoid the pitfalls of deliberative systems, the representation must be able to
act on a time-scale that is close if not the same as the real-time parts of the
system. Similarly, to avoid the pitfalls of the hybrid systems approach, the
representation needs to use the same underlying behavior structure as the rest
of the system. Note that behavior-based systems can have reactive
components to them, i.e., not every part of a behavior-based system needs to be
involved with representational computation. In fact, many behavior-based
systems did not use complex representations at all. As long as they use
behaviors (not just rules), they are BBS.
Source : www.electronicsteacher.com
Tidak ada komentar:
Posting Komentar