330 likes | 455 Views
Introduction To Software Systems. ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk 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.
E N D
Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk 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 Something only half as good as the things foretold in 8 B.C.!! Legend of Hephaestus First production line robot “I Robot” First “universal manipulator” “Elephants Don’t Play Chess” Karel Capek’s “robots”
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 Control Software Control Signals Robot Sensor Data Hardware Actuators Sensory Input Environment Real-World
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
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
Pan, tilt and zoom camera Wifi Transmitter Laser range finder Front Sonar Rear 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
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 REAL-WORLD WILL ALWAYS BE DIFFERENT!!
Bootstrapping Simulator Training time 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