artificial intelligence versus classical robotics all robot control architectures are build on some...
Post on 19-Dec-2015
219 views
TRANSCRIPT
Artificial Intelligence Artificial Intelligence versus classical versus classical
RoboticsRobotics
Artificial Intelligence Artificial Intelligence versus classical versus classical
RoboticsRoboticsAll robot control architectures are build on some ideas of Artificial Intelligence
They form also, what the AI considered now, in contrast to classical AI
AL is the best example
Robot control architectures
Is AI Engineering or Science?Is AI Engineering or Science?Is AI Engineering or Science?Is AI Engineering or Science?
Construction ==> EngineeringConstruction ==> Engineering all scientific problems solvedall scientific problems solved representative:representative: Feigenbaum Feigenbaum
ScienceScience more scientific principles to be discoverermore scientific principles to be discoverer representative:representative: McCarthy McCarthy
Is Robotics Engineering or Is Robotics Engineering or Science?Science?
Is Robotics Engineering or Is Robotics Engineering or Science?Science?
What is a robot? More What is a robot? More definitions….definitions….
What is a robot? More What is a robot? More definitions….definitions….
An intelligent robot is a machine able to extract An intelligent robot is a machine able to extract information from its environment and use knowledge information from its environment and use knowledge about its world to move safely in a meaningful and about its world to move safely in a meaningful and purposeful manner. purposeful manner.
A robot is a system which exists in the A robot is a system which exists in the physicalphysical world world and and autonomouslyautonomously senses its environment and senses its environment and actsacts in it. in it.
Robotics is the intelligent connection of perception to Robotics is the intelligent connection of perception to action (M. Brady) action (M. Brady)
Alternative terms we will use:Alternative terms we will use: UAV:UAV: unmanned aerial vehicle unmanned aerial vehicle
UGV:UGV: unmanned ground vehicle unmanned ground vehicle
UUV:UUV: unmanned undersea vehicle unmanned undersea vehicle
What makes a robot?What makes a robot? sensors sensors effectors/actuators effectors/actuators locomotion system locomotion system on-board computer system on-board computer system controllers for all of the abovecontrollers for all of the above (smart methods everywhere)(smart methods everywhere)
•How these definitions relate to AI?
•Compare to classical robot definitions.
Sensing:Sensing:Sensing:Sensing: What can be sensed?What can be sensed?
depends on the sensors on the robotdepends on the sensors on the robot the robot exists in its sensor space (i.e., all the robot exists in its sensor space (i.e., all
possible values of its sensory readings, also called possible values of its sensory readings, also called perceptual spaceperceptual space))
robotic sensors are very different from biological robotic sensors are very different from biological sensors; sensors; a designer needs to a designer needs to put his mind into the robot's sensor put his mind into the robot's sensor
spacespace a roboticist has to a roboticist has to try to imagine the worldtry to imagine the world in the in the
robot’s sensor spacerobot’s sensor space
What needs to be sensed?What needs to be sensed?What needs to be sensed?What needs to be sensed?
depends on the robot's taskdepends on the robot's task
State: a sufficient description of the systemState: a sufficient description of the systemState: a sufficient description of the systemState: a sufficient description of the system
observableobservable:: the robot knows its state at all times the robot knows its state at all times hidden/inaccessible/unobservable:hidden/inaccessible/unobservable: the robot does not the robot does not
know its stateknow its state partially-observable:partially-observable: the robot knows some part of its the robot knows some part of its
statestate discretediscrete (e.g., up, down, blue, red) or (e.g., up, down, blue, red) or continuouscontinuous (e.g., 3.765 (e.g., 3.765
mph)mph)
State space:State space: all the states a system can be in all the states a system can be in External state:External state: state of the world state of the world
night/day, raining/sunny, at home, etc.night/day, raining/sunny, at home, etc.
sensed using the robot's sensorssensed using the robot's sensors
Internal state: state of the robotInternal state: state of the robotInternal state: state of the robotInternal state: state of the robot
happy/sad, stalled/moving, battery level, velocity, etc.happy/sad, stalled/moving, battery level, velocity, etc.
can be sensed (e.g., velocity)can be sensed (e.g., velocity)
can be stored/remembered (e.g., happy/sad)can be stored/remembered (e.g., happy/sad)
The The robot's state is a robot's state is a combinationcombination of its external and internal state. of its external and internal state.
How intelligent the robot appears will strongly depend on How intelligent the robot appears will strongly depend on how much how much and quickly it can sense its environment and quickly it can sense its environment and and itselfitself.. We will talk more about sensors in next lectures. We will talk more about sensors in next lectures.
Internal state can be used to remember Internal state can be used to remember information about the worldinformation about the world (e.g., remember paths to the goal, remember maps, remember friends (e.g., remember paths to the goal, remember maps, remember friends versus enemies, etc.) versus enemies, etc.) This is called a This is called a representationrepresentation or an or an internal model.internal model.
Representations/modelsRepresentations/models have a lot to do with have a lot to do with how complex a controllerhow complex a controller is! is!
Acting:Acting:Acting:Acting: A robotA robot actsacts through the use of its through the use of its actuatorsactuators, also , also
called called effectorseffectors Robotic actuators are very different from Robotic actuators are very different from
biological ones, both are used for: biological ones, both are used for: locomotionlocomotion (moving around, going places) (moving around, going places) manipulation manipulation (handling objects)(handling objects)
This divides robotics into This divides robotics into three areasthree areas: : mobile robotics mobile robotics manipulator roboticsmanipulator robotics communication robotics (theatre, toys)communication robotics (theatre, toys)
Acting:Acting:Acting:Acting: Action versus Behavior :Action versus Behavior :
Behavior is what an external observer sees a robot doing. Behavior is what an external observer sees a robot doing.
Robots are programmed to display Robots are programmed to display desired behaviordesired behavior. .
BehaviorBehavior is a result of a sequence of robot actions. is a result of a sequence of robot actions. ObservingObserving behavior may not tell us much about the internal control of a robot. behavior may not tell us much about the internal control of a robot.
Control Control can be a black box. can be a black box.
Mobile robotsMobile robots can move around, using wheels, tracks, or legs, and can move around, using wheels, tracks, or legs, and usually move in 2-dimensions.usually move in 2-dimensions. However, swimming and flying robots are also mobile robots, and they However, swimming and flying robots are also mobile robots, and they move in move in
3-dimensions3-dimensions (and are therefore even harder to control) (and are therefore even harder to control)
ManipulatorsManipulators are various robot arms; are various robot arms; they can move in 1 or more dimensions.they can move in 1 or more dimensions.
the number of dimensions are called the the number of dimensions are called the robot's degrees of freedomrobot's degrees of freedom (DOF). (DOF).
we will learn much more about actuators/effectors we will learn much more about actuators/effectors later.later.
Autonomy:Autonomy:Autonomy:Autonomy: What is What is autonomyautonomy? ?
the ability to make one's own decisions and act on themthe ability to make one's own decisions and act on them
for robots, the ability to for robots, the ability to sense the situationsense the situation and and act on it act on it appropriately appropriately
Autonomy can be Autonomy can be completecomplete, as in autonomous robots, or , as in autonomous robots, or partialpartial, as in , as in tele-operatedtele-operated robots. robots. examples of examples of autonomousautonomous robots: robots: R2D2 R2D2
examples of examples of tele-operatedtele-operated robots: robots: NASA's robots before NASA's robots before PathfinderPathfinder
Exo-skeletonsExo-skeletons are not robots, according to our definition. are not robots, according to our definition. (E.g., Ripley's exo-skeleton in the movie Alien.)(E.g., Ripley's exo-skeleton in the movie Alien.)
Fundamentals of Fundamentals of Robot Control Robot Control ArchitecturesArchitectures
Fundamentals of Fundamentals of Robot Control Robot Control ArchitecturesArchitectures
Distinguish the classical control used in robots and the Robot Control Architectures that have more to do with AI
Control:Control:Control:Control: Robot control refers to the way in which the sensing Robot control refers to the way in which the sensing
and action of a robot are coordinated. and action of a robot are coordinated. The many different ways in which robots can be controlled The many different ways in which robots can be controlled
all fall along a well-defined all fall along a well-defined spectrum of control. spectrum of control.
Control Approaches:Control Approaches: Reactive Control :Reactive Control : Don’t think, (re)act. Don’t think, (re)act. Behavior-Based Control :Behavior-Based Control : Think the way you act. Think the way you act. Deliberative Control :Deliberative Control : Think hard, act later. Think hard, act later. Hybrid Control :Hybrid Control : Think and act independently, in parallel. Think and act independently, in parallel.
Control Trade-offs:Control Trade-offs:Control Trade-offs:Control Trade-offs: Thinking is Thinking is slowslow. . Reaction must be Reaction must be fast.fast. Thinking enables Thinking enables looking aheadlooking ahead (planning) to avoid (planning) to avoid
bad solutions. bad solutions. Thinking too long can be Thinking too long can be dangerousdangerous (e.g., falling off (e.g., falling off
a cliff, being run over). a cliff, being run over). To think, the robot needs (a lot of) accurate To think, the robot needs (a lot of) accurate
informationinformation => => world modelsworld models. .
Food for Thought:Food for Thought:Food for Thought:Food for Thought:
Many robots you build in this class will use Many robots you build in this class will use reactive control. What more can you build on reactive control. What more can you build on top of it? Your dream robottop of it? Your dream robot?!?!
Are exo-skeletons (e.g., Ripley’s in the movie Are exo-skeletons (e.g., Ripley’s in the movie Alien) robots? Alien) robots?
Is HAL (in the movie 2001) a robot? Is HAL (in the movie 2001) a robot? Some intelligent Web agents are called Some intelligent Web agents are called
"softbots". Are they robots? "softbots". Are they robots?
Please review:Please review:Please review:Please review: 1. The concept of a Finite State Machine (a 1. The concept of a Finite State Machine (a
sequential system)sequential system) 2. The design of a reactive system may include 2. The design of a reactive system may include
using design automation tools (FPGA, EPLD) that using design automation tools (FPGA, EPLD) that you learn from other classes.you learn from other classes.
3. Review the stages of designing FSMs3. Review the stages of designing FSMs 4. Recall examples of FSMs4. Recall examples of FSMs 5. Reactive machine may include counters, 5. Reactive machine may include counters,
shifters, adders, sequence generators, sequence shifters, adders, sequence generators, sequence recognizers or other that we covered in ECE 271.recognizers or other that we covered in ECE 271.
Reactive Systems:Reactive Systems: Don’t think, react! Don’t think, react! Reactive control is a technique for tightly coupling perception (sensing) Reactive control is a technique for tightly coupling perception (sensing)
and action, to produce timely robotic response in dynamic and and action, to produce timely robotic response in dynamic and unstructured worlds. unstructured worlds.
Think of it as "stimulus-response". Think of it as "stimulus-response". A powerful method:A powerful method: many animals are largely reactive. many animals are largely reactive.
Limitations:Limitations: Minimal (if any) state. Minimal (if any) state. No memory. No memory. No learning. No learning. No internal models / representations of the world.No internal models / representations of the world.
Reactive Robot Reactive Robot Systems Systems
Reactive versus Deliberative SystemsReactive versus Deliberative SystemsReactive versus Deliberative SystemsReactive versus Deliberative Systems
Reactive SystemsReactive Systems Collections of Collections of sense-actsense-act ( (stimulus-responsestimulus-response) rules) rules
rules rules implemented as assembly code, C++ code, EPLD implemented as assembly code, C++ code, EPLD combinational logic, FPGA state machine, state combinational logic, FPGA state machine, state machine with stacks (memory), etc machine with stacks (memory), etc
Inherently concurrent (parallel) Inherently concurrent (parallel)
Very fast and reactive Very fast and reactive
Unable to plan ahead Unable to plan ahead
Reactive versus Deliberative SystemsReactive versus Deliberative SystemsReactive versus Deliberative SystemsReactive versus Deliberative Systems
Deliberative SystemsDeliberative Systems Based on the Based on the sense->plan->actsense->plan->act model model Inherently Inherently sequentialsequential PlanningPlanning requires requires searchsearch, which is slow , which is slow Search requires a Search requires a world modelworld model World modelsWorld models become outdated become outdated Search and planningSearch and planning takes too long takes too long
Hybrid SystemsHybrid SystemsHybrid SystemsHybrid Systems Combine the twoCombine the two extremes extremes
reactive system reactive system on the bottom on the bottom deliberative system deliberative system on the top on the top connected by some connected by some intermediate layerintermediate layer
Often called Often called 3-layer3-layer systems systems Layers must Layers must operate operate concurrentlyconcurrently Different representationsDifferent representations andand time-scales time-scales
between the layers between the layers The best or the worst of both worlds?The best or the worst of both worlds??? ??
Behavior-Based SystemsBehavior-Based SystemsBehavior-Based SystemsBehavior-Based SystemsAn alternative to hybrid systems An alternative to hybrid systems
Have the same capabilities Have the same capabilities
the ability to the ability to act reactivelyact reactively
the ability to the ability to act deliberativelyact deliberatively
There is There is no intermediateno intermediate layer layer
A A unified, consistent representation is used in the unified, consistent representation is used in the whole systemwhole system
=> => concurrent concurrent behaviors behaviors
That resolves issues of That resolves issues of time-scaletime-scale
Feedback ControlFeedback ControlFeedback ControlFeedback Control Feedback:Feedback: continuous monitoring of the sensors and reacting to their changes. continuous monitoring of the sensors and reacting to their changes.
Feedback control = self-regulation Feedback control = self-regulation
Two kinds of feedback: Two kinds of feedback:
Positive Positive
NegativeNegative
The basis of control theory The basis of control theory
- and +- and + Feedback Feedback
Negative feedbackNegative feedback
acts to regulate the state/output of the system acts to regulate the state/output of the system
e.g., if too high, turn down, if too low, turn up e.g., if too high, turn down, if too low, turn up
thermostats, toilets, bodies, robots...thermostats, toilets, bodies, robots...
Positive feedbackPositive feedback
acts to amplify the state/output of the system acts to amplify the state/output of the system
e.g., the more there is, the more is added e.g., the more there is, the more is added
lynch mobs, stock market, ant trails...lynch mobs, stock market, ant trails...
Feedback and CyberneticsFeedback and CyberneticsFeedback and CyberneticsFeedback and Cybernetics Uses of FeedbackUses of Feedback
Invention of feedback as the Invention of feedback as the first simple roboticsfirst simple robotics (does it work with our (does it work with our definition)? definition)?
The first example came from ancient The first example came from ancient Greek water systemsGreek water systems ( (toiletstoilets) )
Forgotten and re-invented in the Renaissance for Forgotten and re-invented in the Renaissance for ovens/furnacesovens/furnaces
Really made a splash in Really made a splash in Watt's steam engineWatt's steam engine
CyberneticsCybernetics Pioneered by Norbert Wiener (1940s) (From Greek Pioneered by Norbert Wiener (1940s) (From Greek "steersman""steersman" of of
steam engine) steam engine)
Marriage of Marriage of control theorycontrol theory (feedback control), (feedback control), information scienceinformation science and and biologybiology
Seeks Seeks principles common to animals and machinesprinciples common to animals and machines, especially for , especially for control and communication control and communication
Coupling an organism and its environment Coupling an organism and its environment (situatedness)(situatedness)
W. Grey Walter’s TortoiseW. Grey Walter’s TortoiseW. Grey Walter’s TortoiseW. Grey Walter’s Tortoise
Machina Speculatrix Machina Speculatrix 1 photocell & 1 bump sensor, 1 motor 1 photocell & 1 bump sensor, 1 motor
Behaviors:Behaviors: seek light seek light head to weak light head to weak light back from bright light back from bright light turn and push turn and push recharge batteryrecharge battery
Reactive controlReactive control
Turtle World (homework 2)Turtle World (homework 2)Turtle World (homework 2)Turtle World (homework 2) Turtle PrinciplesTurtle Principles
Parsimony:Parsimony: simple is better (e.g., clever recharging simple is better (e.g., clever recharging strategy) strategy)
Exploration/speculation:Exploration/speculation: keeps moving (except keeps moving (except when charging) when charging)
Attraction (positive tropism):Attraction (positive tropism): motivation to motivation to approach light approach light
Aversion (negative tropism):Aversion (negative tropism): motivation to avoid motivation to avoid obstacles, slopes obstacles, slopes
Discernment:Discernment: ability to distinguish and ability to distinguish and make make choices,choices, i.e., to i.e., to adaptadapt
Turtle World (homework 2)Turtle World (homework 2)Turtle World (homework 2)Turtle World (homework 2) Braitenberg VehiclesBraitenberg Vehicles
Valentino Braitenberg (early 1980s) Valentino Braitenberg (early 1980s)
Extended Walter’s model in a series of Extended Walter’s model in a series of thought experimentsthought experiments
Also based onAlso based on analoganalog circuits circuits
Direct connectionsDirect connections (excitatory or inhibitory) between light sensors and motors (excitatory or inhibitory) between light sensors and motors
Complex behaviors from very simple mechanisms Complex behaviors from very simple mechanisms
By varying the connections and their strengths, numerous behaviors result, e.g.: By varying the connections and their strengths, numerous behaviors result, e.g.: "fear/cowardice" - flees light "fear/cowardice" - flees light
"aggression" - charges into light "aggression" - charges into light
"love" - following/hugging "love" - following/hugging
many others, up to memory and learning!many others, up to memory and learning!
Reactive control Reactive control
Later implemented on real robotsLater implemented on real robots
Artificial IntelligenceArtificial IntelligenceArtificial IntelligenceArtificial Intelligence Early Artificial IntelligenceEarly Artificial Intelligence
"Born" in 1955 at Dartmouth (thus both traditions are "Born" in 1955 at Dartmouth (thus both traditions are old!)old!)
"Intelligent machine" would use internal models to search for solutions and "Intelligent machine" would use internal models to search for solutions and then try them out (M. Minsky) => then try them out (M. Minsky) => deliberative model!deliberative model!
PlanningPlanning became the tradition became the tradition
Explicit Explicit symbolic symbolic representations representations
Hierarchical Hierarchical system organization system organization
Sequential Sequential executionexecution
Artificial Intelligence (AI)Artificial Intelligence (AI) Early AI had a Early AI had a strong impactstrong impact on early robotics on early robotics
Focused on Focused on knowledge, knowledge, internal modelsinternal models, and reasoning/planning, and reasoning/planning
Eventually (1980s) robotics developed improved and innovative approaches => Eventually (1980s) robotics developed improved and innovative approaches => behavior-based and hybrid control behavior-based and hybrid control
AI itselfAI itself has also evolved... has also evolved...
But before that, early robots used deliberative controlBut before that, early robots used deliberative control
Early RobotsEarly RobotsEarly RobotsEarly Robots Early Robots: Early Robots: SHAKEYSHAKEY
At Stanford Research Institute (late 1960s) At Stanford Research Institute (late 1960s)
Vision and contact sensors Vision and contact sensors
STRIPS planner STRIPS planner
Visual navigation in a special world Visual navigation in a special world
DeliberativeDeliberative
Early Robots: Early Robots: HILAREHILARE LAAS in Toulouse, France (late 1970s) LAAS in Toulouse, France (late 1970s)
Video, ultrasound, laser range-finder Video, ultrasound, laser range-finder
Still in use! Still in use!
Multi-level spatial representations Multi-level spatial representations
Deliberative -> Deliberative -> HybridHybrid Control Control
Early Robots: Early Robots: CART/RoverCART/RoverEarly Robots: Early Robots: CART/RoverCART/Rover
Hans Moravec Hans Moravec Stanford Cart (1977) Stanford Cart (1977)
followed by CMU rover (1983) followed by CMU rover (1983) Sonar and vision Sonar and vision Deliberative controlDeliberative control
Robotics TodayRobotics TodayRobotics TodayRobotics Today• Assembly and manufacturing (most numbers of Assembly and manufacturing (most numbers of
robots, robots, least autonomousleast autonomous) )
Materials handling Materials handling
Gophers (hospitals, security guards) Gophers (hospitals, security guards)
Hazardous environments (Chernobyl) Hazardous environments (Chernobyl)
Remote environments (Remote environments (PathfinderPathfinder) )
Surgery (brain, hips) Surgery (brain, hips)
Tele-presence and virtual reality Tele-presence and virtual reality
EntertainmentEntertainment
Both approaches representedBoth approaches represented
Why is Robotics hard?Why is Robotics hard?Why is Robotics hard?Why is Robotics hard?
SensorsSensors are are limitedlimited and and crudecrude EffectorsEffectors are limited and crude are limited and crude State (internal and external, but mostly State (internal and external, but mostly
external) is external) is partially-partially-observable observable Environment is Environment is dynamicdynamic (changing over (changing over
time) time) Environment is full of Environment is full of potentially-usefulpotentially-useful
informationinformation
Key Issues of Robotics vs. AIKey Issues of Robotics vs. AIKey Issues of Robotics vs. AIKey Issues of Robotics vs. AI Grounding in reality:Grounding in reality:
not just planning in an abstract world not just planning in an abstract world
Situatedness (ecological dynamics):Situatedness (ecological dynamics): tight connection with the environment tight connection with the environment
Embodiment:Embodiment: having a body having a body
Emergent behavior:Emergent behavior: interaction with the environment interaction with the environment
Scalability:Scalability: increasing task and environment complexity increasing task and environment complexity
Food for thought. And Exam?...Food for thought. And Exam?...Food for thought. And Exam?...Food for thought. And Exam?... Argumentation:Argumentation:
Try to argue that robotics is an engineering and not scienceTry to argue that robotics is an engineering and not science
Try to argue on the oppositeTry to argue on the opposite
Write an Eliza-like program with two robots arguing on this topicWrite an Eliza-like program with two robots arguing on this topic
Sensing:Sensing:
Based on your knowledge from other classes, try to invent a new sensor that has so far Based on your knowledge from other classes, try to invent a new sensor that has so far not been used much in robotics, such as not been used much in robotics, such as smell sensor, smell sensor, polarized light sensorpolarized light sensor or radiation or radiation sensor. sensor.
Some sensors may need a lot of processing. Some sensors may need a lot of processing.
What computer software and algorithms may be useful. What computer software and algorithms may be useful.
Think for instance of having an Think for instance of having an array of directed microphones.array of directed microphones.
Food for thought. And Exam?...Food for thought. And Exam?...Food for thought. And Exam?...Food for thought. And Exam?...
State:State: Give examples of various Give examples of various types of statestypes of states for your Turtle for your Turtle
robot from homework 2. robot from homework 2.
Using the concept of finite state machines and verification Using the concept of finite state machines and verification of them, how can you of them, how can you verify the correctness of actionsverify the correctness of actions of of your robot, for instance that it reaches the goal or does not your robot, for instance that it reaches the goal or does not bump to the obstacle. bump to the obstacle.
What can be proven ?What can be proven ?
How to design a program that will How to design a program that will analyze the reachabilityanalyze the reachability of your robot in certain space? of your robot in certain space?
Control:Control: Using example of your Turtle, show examples of positive and negative Using example of your Turtle, show examples of positive and negative
feedback. feedback.
Do you have to redesign your control to be able to demonstrate both? Do you have to redesign your control to be able to demonstrate both?
Control Architectures:Control Architectures: Using your Turtle, give examples what behaviors are reactive and what are Using your Turtle, give examples what behaviors are reactive and what are
deliberative. deliberative.
Perhaps most of your Turtle behavior is reactive. Perhaps most of your Turtle behavior is reactive.
How can you add planning on top of reactive behaviors? How can you add planning on top of reactive behaviors?
What kind of plans will be the robot able to execute.What kind of plans will be the robot able to execute.
If a plan fails, what is the simple solution, using the concepts that you learned If a plan fails, what is the simple solution, using the concepts that you learned so far? so far?
Food for thought. And Exam?...Food for thought. And Exam?...Food for thought. And Exam?...Food for thought. And Exam?...
LearningLearning
As you remember, any kind of behavior that transforms the stored knowledge to a As you remember, any kind of behavior that transforms the stored knowledge to a new form in result of which the new behavior is more efficient, can be categorized new form in result of which the new behavior is more efficient, can be categorized as learning, for instance, modifying the table of a reactive state machine.as learning, for instance, modifying the table of a reactive state machine.
Add one more layer to your Turtle, the level of learning. Add one more layer to your Turtle, the level of learning.
How will you evaluate the quality of learning? How will you evaluate the quality of learning?
Can GA be a learning mechanism? Can GA be a learning mechanism?
How learning can be introduced in the framework of tree search?How learning can be introduced in the framework of tree search?
Applications:Applications:
Think about all possible practical applications for your Turtle. Think about all possible practical applications for your Turtle.
What should be added to it that it will remove mines from a former battlefield? What should be added to it that it will remove mines from a former battlefield?
That it will be finding weeds and destroying them? That it will be finding weeds and destroying them?
Give characterization of every task in terms of basic control architectures from the class Give characterization of every task in terms of basic control architectures from the class
Food for thought. And Exam?...Food for thought. And Exam?...Food for thought. And Exam?...Food for thought. And Exam?...