Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng
Download ReportTranscript 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