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

33
Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng [email protected] Room C85

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

Page 1: Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

Introduction To Software Systems

ASAP Robotics Software Systems: Lecture 1

Robert Oates [email protected]

Room C85

Page 2: 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

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

SMPA

SENSE

PLAN

MODELACT

Sensors

Actuators

ROBOTREAL-WORLD

Page 9: Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

SMPA & GOFAI : Why didn’t the robot cross the road?

Page 11: Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

Pioneer Robots – Hardware Structure

Page 21: Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

Pioneer Robots – Hardware Structure

Standard PCElectronics

Sensors&

Actuators

SerialPort

WiFi

Robot

Page 22: Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

Pioneer Robots – Commercial Software

• Operating System:– “Windows” (Microsoft)

• Control Software:– “ARIA” (MobileRobots)

• Simulation Software:– “MobileSim” (MobileRobots)

Page 23: Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

Pioneer Robots – Open Source Software

• Operating System:– Various Linux “Flavours” (types)

• Control Software:– “Player”

• Simulation Software:– “Stage”

Page 24: Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

Developing Robot Software

Page 26: Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

Simulators: Capturing the Essence of Reality

• Simulator Demonstration

Page 28: Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

Bootstrapping

Simulator Training

Real-world Training

time

Page 30: Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

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 ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

Software Development and Hardware Issues

• Battery life

• Mechanical wear

• Hardware reliability

• Controlled Environment

Page 32: Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

Key Issues When Implementing a Robotic System

• Cross-platform development issues

• Simulator issues

• Hardware issues

Page 33: Introduction To Software Systems ASAP Robotics Software Systems: Lecture 1 Robert Oates MEng rxo@cs.nott.ac.uk Room C85.

Case Study – Pioneer Development

• ARIA SIGSEG Bug– Driver configuration bugs– Solution: Recompile all code on robots

• Hardware changes– Solution: Feedback