SA UnitII Case Studies
SA UnitII Case Studies
Master Control
Subroutine Calls
DMA
Input Characters Index Alphabetized Index Output
Medium Medium
• Disadvantages:
• Advantages:
–Change in data storage format
–Efficient Control Flow
affects all modules
Mechanism
– Ease of Upgrade to different
–Efficient Data Representation
algorithms?
–Efficient Data Flow between – Reusable in different
modules domains?
Abstract Data Types
Master Control Subroutine Calls
Input Output
Set Char
Set Char
Word
Word
Setup
Alpha
Char
Char
Input Output
Ith
Medium
Medium
Output
Delete
Delete
Insert
Insert
Input
I th
I th
Medium
Medium
Lines Lines
Input
Medium
•Advantages:
–Maintains the intuitive processing flow
–Each filter can function in isolation
–New functions easily added to the processing flow
–Filters are logically independent of one another
•Disadvantages:
–Impossible to modify the design for interaction
–Data design is inefficient as all data must be copied throughout the system.
Fall 2002
Comparisons
Shared Data Abstract Data Type Implicit Invocation Pipe & Filter
Algorithm Changes - - + +
Data Representation
Changes
- + - -
Function Changes + - + +
Performance + + - -
Reuse - + - +
Control + + + -
Score 0 +2 0 0
Suggested Comparisons
The shared data solution is particularly weak in its support for changes in
The abstract data type solution allows changes to data representation and
Filter (n)
Control Variables
Mobile Robotics
Design Considerations
– Req. (1) Architecture must Accommodate Deliberate and Reactive Behavior
• Robot (system) must coordinate the actions to achieve the desired objectives based on the constraints
and its operating environment.
– Req. (2) Architecture must allow for Uncertainty
– Robot (system) actions are never fully predictable
– Robot (system) must be able to operate (decide) with incomplete and unreliable information.
– Req. (3) Architecture must account for dangers present in its environment or its operation
– Robot architecture must balance fault-tolerance, safety, performance
– (Especially when people are placed in harms way or do not have immediate access to emergency
services)
– Robot must be able to understand how to maintain its integrity, operators, and environment (you
really don’t want it to go bang (or cause a bang) in an explosive, corrosive, or contaminated
environment) ..I.e power conservation, detect unexpected failures, etc.
– Req. (4) Architecture must provide designer flexibility in application development,
experimentation, and reconfiguration (new uploads)
Mobile Robotics
Control Loop Approach
–Req. (1) Architecture must:
• Accommodate Deliberate and Reactive Behavior
–(Book:) Note that feedback control loops assume changes in the environment are
continuous and require continuous reactions.
(Note that this is Not necessarily true -> Some feedback systems (especially weather prediction
systems) can take months of sample and analysis before we are able to update predicted data.
– If the system is required to have an immediate reaction to an environment then we should consider this
approach.
– We will find that there are better architecture approaches (I.e. simplified BB) for control of this type of
problem, even for the control of real-time video.
Mobile Robotics
–Req. (2) Architecture must allow for Uncertainty
–In a control loop approach, the expected output signal is fed back to the input.
–The difference between the input signal and the predicted output signal
generates an error signal that drives the control loop algorithm.
–This is the only uncertainty allowed.
If more detailed uncertainty in the observed sampled inputs are required to be used
in the control laws then we might go to an optimal estimator.
–However if “Uncertainty” implies that we want “Emergent” as of yet
undefined behavior from our system in response to unplanned or unforeseen
inputs, then a simple control loop architecture will not be able to handle the
requirement.
“I.e I want the Mars Rover to “Investigate” any situation that appears “interesting”.
(Dynamic task prioritization)
Mobile Robotics
• Control Loop Approach
–Req. (3) Architecture must account for dangers present in its environment or its operation
–Fault-tolerance and safety are supported by this architecture style to the extent that it is
“SIMPLE” and therefore reduces the errors that can enter the system.
This is often not the case -> sensors fail, redundancy and voting logic must now be
incorporated into the system, adding weight, power, and cost.
–Conclusion:
–Control Loop Architecture appears to be the best for SIMPLE robotic systems that handle a few
number and types of inputs within a PREDICTABLE environment
Closed Loop robotic architecture