introduction to software systems
DESCRIPTION
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. 1961. 1950. 1921. 1954. 1990. The Future. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/1.jpg)
Introduction To Software Systems
ASAP Robotics Software Systems: Lecture 1
Robert Oates [email protected]
Room C85
![Page 2: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/2.jpg)
A Brief (and not to scale) History of Robotics
Approx.8 B.C.
Science Fiction
1921
Science Fact
1950
Karel Capek’s “robots”
“I Robot”
1954
First “universal manipulator”
1961
First production line robot
1990
“Elephants Don’t Play Chess”
Legend of Hephaestus
The Future
Something only half as good as
the things foretold in 8
B.C.!!
![Page 3: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/3.jpg)
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
![Page 4: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/4.jpg)
Properties of a Robotic System
• Purposeful
• Interdisciplinary
• Complex– All parts need to work, all parts need to work
together!
![Page 5: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/5.jpg)
Robots as a System
Control Software
Hardware
Environment
Rob
otR
eal-W
orld
Control Signals
Actuators
Sensory Input
Sensor Data
![Page 6: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/6.jpg)
Key Issues When Designing a Robotic System
• Complex
• Interdisciplinary
• Good enough to survive in the real world– Dynamic– Noisy– Non-linear
• Expensive!
![Page 7: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/7.jpg)
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!
![Page 8: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/8.jpg)
SMPA
SENSE
PLAN
MODELACT
Sensors
Actuators
ROBOTREAL-WORLD
![Page 9: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/9.jpg)
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
![Page 10: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/10.jpg)
SMPA & GOFAI : Why didn’t the robot cross the road?
![Page 11: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/11.jpg)
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?
![Page 12: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/12.jpg)
Elephants Don’t Play Chess(Rodney Brooks, 1990)
• Symbolism is not the key
• Don’t blame hardware – blame the architecture!
![Page 13: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/13.jpg)
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
![Page 14: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/14.jpg)
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 lighttaking less time to return than usual on the right
If tr < TVr = Vr + Voffset
Robotturns left
![Page 15: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/15.jpg)
Reactive Architectures(approximately 1990)
• Fast enough to process the real-world
• More biologically feasible
• Humans do not impose their own models
![Page 16: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/16.jpg)
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
![Page 17: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/17.jpg)
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!
![Page 18: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/18.jpg)
Machine Learning
• Machine Learning Allows:– Generalisation
• Neural Networks• Repeatedly show training data
– Behaviour Modification• Reinforcement Learning• Repeatedly practice tasks
![Page 19: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/19.jpg)
Pioneer Robots – Hardware Structure
Pan, tilt and zoom camera
Laser range finder
GripperBumper Switches
Wifi Transmitter
Rear Sonar
Drive Wheel
Front Sonar
![Page 20: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/20.jpg)
Pioneer Robots – Hardware Structure
![Page 21: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/21.jpg)
Pioneer Robots – Hardware Structure
Standard PCElectronics
Sensors&
Actuators
SerialPort
WiFi
Robot
![Page 22: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/22.jpg)
Pioneer Robots – Commercial Software
• Operating System:– “Windows” (Microsoft)
• Control Software:– “ARIA” (MobileRobots)
• Simulation Software:– “MobileSim” (MobileRobots)
![Page 23: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/23.jpg)
Pioneer Robots – Open Source Software
• Operating System:– Various Linux “Flavours” (types)
• Control Software:– “Player”
• Simulation Software:– “Stage”
![Page 24: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/24.jpg)
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
![Page 25: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/25.jpg)
Developing Robot Software
![Page 26: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/26.jpg)
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
![Page 27: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/27.jpg)
Simulators: Capturing the Essence of Reality
• Simulator Demonstration
![Page 28: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/28.jpg)
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 REAL-WORLD WILL ALWAYS BE DIFFERENT!!
![Page 29: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/29.jpg)
Bootstrapping
Simulator Training
Real-world Training
time
![Page 30: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/30.jpg)
Cross-Platform Development
• Many reasons to do so– Preference– Application– Wider Customer Base
• Many reasons not to!– Compatibility– Complex code “switches”– Porting issues
![Page 31: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/31.jpg)
Software Development and Hardware Issues
• Battery life
• Mechanical wear
• Hardware reliability
• Controlled Environment
![Page 32: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/32.jpg)
Key Issues When Implementing a Robotic System
• Cross-platform development issues
• Simulator issues
• Hardware issues
![Page 33: Introduction To Software Systems](https://reader035.vdocument.in/reader035/viewer/2022062517/56813d6e550346895da74ddf/html5/thumbnails/33.jpg)
Case Study – Pioneer Development
• ARIA SIGSEG Bug– Driver configuration bugs– Solution: Recompile all code on robots
• Hardware changes– Solution: Feedback