420 likes | 582 Views
3. Mobile Robotics. The system controls a manned or partially manned vehicle Car, submarine, spece vehicle, … Build software to control the robot External sensors and actuators Real-time Input provided by sensors Control the motion Plan the future path. Mobile Robotics con’t.
E N D
3. Mobile Robotics • The system controls a manned or partially manned vehicle • Car, submarine, spece vehicle, … • Build software to control the robot • External sensors and actuators • Real-time • Input provided by sensors • Control the motion • Plan the future path
Mobile Robotics con’t • Complicating factors • Obstacles may block the path • Imperfect sensor input • Robot might run out of power • Accuracy in movement • Manipulation with hazardous material • Unpredictable events might leed to need of rapid response
Mobile Robotics con’t • Consider four (4) architectural designs • Control loop • Layered design • Implicit invocation • Blackboard
Mobile Robotics con’t • Design considerations • Req 1: deliberative and reactive behaviour • Coordinate robot actions with environment reactions • Req 2: uncertainty • The rocot need to act based on incomplete and unrealiable information • Req 3: account for dangers • Fault tolerance, safety, performance • Req 4: flexibility • Application development requires experimentation and reconfiguration
Mobile Robotics con’t • Requirements of different kind, application depends on complexilty and predictability • Robot in another planet => fault tolerance • The four requirements guide the evaluation of the four architectural alternatives
Solution 1: control loop • A mobile robot uses a closed-loop paradigm: • The controller initiates robot actions and monitors their consequences, adjusting plans
Solution 1 con’t • The four requirements? • Req 1: deliberative and reactive behaviour • + simplicity of paradigm • - simplicity a problem in unpredictable environments • Implicit assumption: continuous changes in environment require continuous reaction • Robots face dicrete events • Switch between behavious modes - how to change between modes? • How to decompose the software into cooperating components?
Solution 1 con’t • The four requirements? • Req 2: uncertainty • - A trial-and-error process • Req 3: account for dangers • + simplicity makes duplication easy • Req 4: flexibility • + the major components (supervisor, sensors, motors) separate and replacable
Solution 1 con’t • Summary: • Paradigm appropriate for simple robotics • Can handle only a small number of external events • No really for complex decomposition of tasks
Solution 2: layered architecture • Eight (8) levels: • Level 1: Robot control (motors, joints, …) • Levels 2&3: input from the environment • Sensor interpretation and integration • Level 4: robot’s model of the world • Level 5: navigation • Levels 6&7: scheduling and planning of robot actions • Level 8: user interface and supervisory functions
Solution 2 con’t • The four requirements? • Req 1: deliberative and reactive behaviour • + More components to delegate tasks • + indicates concerns that must be addressed • + defines abstraction levels to guide the design • - does not fit the data and control-flow patterns • - does not separate the data hierarhy from the control hierarchy
Solution 2 con’t • The four requirements? • Req 2: uncertainty • + abstraction layers manage this • Req 3: account for danger • + managed by the abstraction mechanism: data and commands are analysed from different perspectives • Req 4: flexibility • - interlayer dependencies an obstacle • - complex relationships between layers can become difficult to manage
Solution 2 con’t • Summary: • Provides a framework for organising components • Precise about roles of layers • Problems when adding detail at implementation level • The communication pattern in a robot will not follow the scheme of the architecture
Solution 3: implicit invocation • Task-control architecture • Based on hierarchies of tasks • Task trees • Parent tasks initiate child tasks • Software designer can define temporal dependencies between tasks • Dynamic reconfiguration of task trees at run time • Uses implicit invocation to coordinate interaction between tasks • Tasks communicate by multicasting messages
Solution 3 con’t • Task-control architecture supports: • Exceptions: exception handlig override tasks • Change processing mode • Can abort or retry tasks • Wiretapping: intercept messages by superimposed tasks • Safety-checks of outgoing commands • Monitors: read information and execute actions • Fault-tolerance issues using agents to supervise the system
Solution 3 con’t • The four requirements? • Req 1: deliberative and reactive behaviour • + Separation of acttion and reaction via the task trees and exeptions, wiretapping and monitors • + concurreny explicit: multiple actions can proceed simultaneously and independently • - though in practice limited by the central server • - relies on a central control point
Solution 3 con’t • The four requirements? • Req 2: uncertainty • - not explicitly in the model • Maybe via task trees and exeptions • Req 3: dangers • + exception, wiretapping, monitors • + fault tolerance by redundancy • Multiple handles for same signal concurrently • Req 4: flexibility • + implicit invocation allows incremental development and replacement of components • Often sufficient to register new handlers in central conrol
Solution 3 con’t • Summary: • TCA offers a compihensive set of features for coordinating tasks • Appropriate for complex robot projects
Solution 4: blackboard • Based on the following components: • Caption: overall supervisor • Map navigator: high-level path planner • Lookout: monitors the environment • Pilot: low-level path planner and motion controller • Percetion subsystem: input from sensors and integration the input to an interpretation
Solution 4 con’t • The four requirements? • Req 1: deliberative and reactive behaviour • + components interact via the shared repository • - control flow must be coerced to fit the database mechanism • Components do not communicate directly • Req 2: uncertainty • + blackboard the means for resolving conflicts and uncertainties • All data available in the database
Solution 4 con’t • The four requirements? • Req 3: account for dangers • + communication via a central service, the database • Exception handling, wiretapping, monitors can be implemented by addint modules that watch the database for certain signs of problematic situations • Req 4: flexibility • + Supports concurrency • + Decouples senders from receivers • Facilitates maintenance
Solution 4 con’t • Summary: • The architecture is capable of modelling the cooperation of tasks • Coordination • Resolving uncertainty • Slightly less powerful than TCA • Not the only possibilities for robotics …
4: Cruise Control • The control loop paradigm applied to a problem traditionally seen in oo-eyes • The control-loop architecture clarifies the architectural aspects of the problem • Previously used to explore differences between oo and procedural programming
Cruise control con’t • A cruise-control system maintains the speed of a car, even over varying terrain. • Inputs: • System on/off • Engine on/off • Pulses from the wheel • Accelerator • Brake • Increase/decrease speed • Resume speed • Clock • Output • throttle
Cruise control con’t • How to derive output from the inputs? • Inputs provide two kinds of information: • Is the cruise control on? • If yes, what speed should be maintained? • Output is a value for the engine throttle setting • The corresponding signal should change the throttle setting • A more conventional cruise-control would specify control of current speed • Current speed here only implicitely as maintained speed
Cruise control con’t • A millisecond clock • Used in combination with wheel pulses to determine the current speed • The process that computes the speed will count the number of clock pulses between wheel pulses • The problem is overspecified • A single system clock is not required
Cruise control con’t • Restatement of the problem: • Whenever the system is active, determine the desired speed and control the engine throttle setting to maintain that speed
Solution 1: oo view • An oo decomposition is arranged around objects that exist in the task description • Correspond to quantities and physical entities in the system • Blobs - objects • Lines - dependencies among objects • Desired speed appears here as the target speed • Not explicitely present in the original problem statement
Process-control paradigm • Continuos processes convert input materials to product • Values of measurable properties of system state constitute the variables of the process • Not to be confused with program variables • Process variables that measure the output materials are called controlled variables of the process • Manipulated variables are associated with things that can be changed by the control system to regulate the process
Process-control paradigm con’t • Definitions • Process variables • Controlled variables • Input variables • Manipulated variables • Set point • Open-loop • Closed-loop • Feedback control system • Feedforward control system
Process-control paradigm con’t • The purpose of a control system is to maintain specified properties of the outputs of the process at given reference values called set ponts
Software paradigm for control systems • An architectural style that controls continuous processes can be based on the process-control loop: • Computational elements: • Process definition • Control algorithm • Data elements • Process variables • Set points • Sensors • Control loop paradigm
Software paradigm for control systems con’t • Results in a particular kind of dataflow architecture • In addition to providing data to each other the paradigm assumes that data is updated continuously • Requires a cyclic topology • Asymmetry between the control element and the process element
Solution 2: process-control view • A control-view architecture might be appropriate when software is embedded involving continuous behavious • The cruise-control system is supposed to maintain constant speed in an automobile despite variations in terrain, load, air resistance, fuel quality, …
Solution 2: process-control view con’t • Identify the essential system elements • Computational elements • Process definition: the process receives a throttle setting and turns the wheels • The process takes a throttle setting as input and controls the speed of the vehicle • Control algorithm: the algorithm models the current speed from the wheel pulses, compares it to the desired speed and changes the throttle setting • Clock input needed • The current throttle setting must be maintained
Solution 2: process-control view con’t • Identify the esential system elements • Data elements • Controlled variable: current speed of the vehicle • Manipulated variable: the throttle setting • Set point: desired speed, several inputs • Sensor for controlled variable: current speed • Modelled on data from wheel pulses using the clock
Solution 2: process-control view con’t • Two subproblems: • Whenever the system is active determine the desired speed • Control the engine throttle setting to maintain the desired speed • This is the actual control problem
Solution 2: process-control view con’t • Control architecture for the control system: • Model the current speed from the wheel pulses • Where should the wheel pulses be taken from? • Has the controller full control authority over the process?
Solution 2: process-control view con’t • Set point computation: • Two inputs representing dataflows • Active/inactive • Desired speed • The controller is a continuously evaluating function that matches the dataflow character of the inputs and outputs • Two parts: • Is the system active? • Determine the desired speed
Solution 2: process-control view con’t • Summary • The objects in the oo view have roles in the resulting system • Use the control-loop architecture for the system as a whole • Other architectures to elaborate the elements
Solution 2: process-control view con’t • Analysis and discussion • The selection of an architecture commits the designer to a particular view of the problem • Oo architectures are supported by methodologies • Methodologies for control-loops?
Solution 2: process-control view con’t • A methodology should help designer to decide when the architecture is appropriate • A methodology should help the designer to identify the elements of the design and their interactions • Find the objects in oo • A methodology should help the designer to identify critical decisions • Safety problems in control