Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng

Download Report

Transcript Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng

Introduction To Software
Systems
ASAP Robotics Software Systems: Lecture 1
Robert Oates MEng
[email protected]
Room C85
A Brief (and not to scale) History of
Robotics
Science Fact
Science Fiction
Approx.
8 B.C.
1921
Legend of
Hephaestus
1950 1961
1954
“I Robot”
First production
line robot
First “universal
manipulator”
Karel Capek’s
“robots”
1990
The Future
Something only
half as good as
the things
foretold in 8
B.C.!!
“Elephants Don’t
Play Chess”
What’s the point of robotics?
• Industrial
–
–
–
–
–
Faster
More efficient
Cheaper in the long run
Can be used in hazardous environments
Distribution of sensors
• Scientific
– Psychology
– Sociology
– Computer Science
Properties of a Robotic System
• Purposeful
• Interdisciplinary
• Complex
– All parts need to work, all parts need to work
together!
Robots as a System
Robot
Control Software
Control Signals
Sensor Data
Hardware
Actuators
Real-World
Sensory Input
Environment
Key Issues When Designing a
Robotic System
• Complex
• Interdisciplinary
• Good enough to survive in the real world
– Dynamic
– Noisy
– Non-linear
• Expensive!
Software Architectures For Robots :
The Bad Old Days
• GOFAI (Good Old Fashioned AI)
– Symbolic AI
– Expert Systems etc
• SMPA (Sense Model Plan Act)
• Image\Signal Processing
– Totally separate research
– Not fit for purpose!
SMPA
Sensors
SENSE
ACT
MODEL
Actuators
PLAN
REAL-WORLD
ROBOT
SMPA
• Sense
– Turn real-world signals into data
• Model
– Use data to update an internal model of the world
• Plan
– Plan the best course of action, by manipulating the
model
• Act
– Act out the chosen plan, by sending signals back to
actuators
SMPA & GOFAI : Why didn’t the
robot cross the road?
Killing Blows For SMPA
• Slow
• Model could become out of
synchronisation
• Why waste processor time using a model
that is geared to how a human thinks?
Elephants Don’t Play Chess
(Rodney Brooks, 1990)
• Symbolism is not the key
• Don’t blame hardware – blame the
architecture!
So what do we do now?
• New controller based on reflexes.
– Reactive architectures
• “The world is its own best model” – Rodney Brooks
• Complex behaviour
Perception
Process
Action
So what do we do now?
• New controller based on reflexes.
– Reactive architectures
• “The world is its own best model” – Rodney Brooks
• Complex behaviour
Laser light
taking less
time to return
than usual on
the right
If tr < T
Vr = Vr + Voffset
Robot
turns left
Reactive Architectures
(approximately 1990)
• Fast enough to process the real-world
• More biologically feasible
• Humans do not impose their own models
The Robot Lab
• Located on B Floor of the CSIT Building
• Facilities
–
–
–
–
–
–
–
–
“The robot village”
Pioneer Pen
Robot Football Pitch
5 Pioneer Robots
1 Peoplebot
32 Miabot Pro Swarms
12 Miabot Pros
Lego Robots
• http://grumpy.cs.nott.ac.uk/~robots/wiki/index.php/Main_Page
ASAP and Robotics
• The Automated Scheduling optimisation And
Planning research group
• Many tasks within robotics, (control, task
management) are about optimisation and
planning
• Objectives
– Research: Novel control techniques
– Don’t want to waste time re-implementing things that
are already in the public domain: Procurement!
Machine Learning
• Machine Learning Allows:
– Generalisation
• Neural Networks
• Repeatedly show training data
– Behaviour Modification
• Reinforcement Learning
• Repeatedly practice tasks
Pioneer Robots – Hardware
Structure
Pan, tilt and zoom
camera
Wifi Transmitter
Laser range
finder
Rear Sonar
Front Sonar
Gripper
Bumper
Switches
Drive Wheel
Pioneer Robots – Hardware
Structure
Pioneer Robots – Hardware
Structure
WiFi
Robot
Serial
Port
Sensors
&
Actuators
Electronics
Standard PC
Pioneer Robots – Commercial
Software
• Operating System:
– “Windows” (Microsoft)
• Control Software:
– “ARIA” (MobileRobots)
• Simulation Software:
– “MobileSim” (MobileRobots)
Pioneer Robots – Open Source
Software
• Operating System:
– Various Linux “Flavours” (types)
• Control Software:
– “Player”
• Simulation Software:
– “Stage”
What Do We Use and Why?
• Operating System:
– Linux
• Real-time
• Flexible
• Control Software:
– Both!
• Player
• ARIA
• Simulators
– More complicated
• Less resource intensive
• Guaranteed service time
Developing Robot Software
Why Use Simulators?
• Faster
– Faster than real-time
– This makes many machine learning algorithms possible!
• Cheaper
– Don’t need to build robot
• Safer
– Robot can’t damage people/building/itself
– Repeatable
• Riskier!
– The simulator will be different to the real-world
Simulators: Capturing the Essence
of Reality
• Simulator Demonstration
Ideal Robotic Simulator
• Simulates noise from sensors
• Simulates real-world style physics
• Simulates faster than real time
• Usable
• Minimal porting effort
NO MATTER HOW GOOD A SIMULATOR IS – THE REALWORLD WILL ALWAYS BE DIFFERENT!!
time
Bootstrapping
Simulator Training
Real-world Training
Cross-Platform Development
• Many reasons to do so
– Preference
– Application
– Wider Customer Base
• Many reasons not to!
– Compatibility
– Complex code “switches”
– Porting issues
Software Development and
Hardware Issues
• Battery life
• Mechanical wear
• Hardware reliability
• Controlled Environment
Key Issues When Implementing a
Robotic System
• Cross-platform development issues
• Simulator issues
• Hardware issues
Case Study – Pioneer
Development
• ARIA SIGSEG Bug
– Driver configuration bugs
– Solution: Recompile all code on robots
• Hardware changes
– Solution: Feedback