Presentation is loading. Please wait.

Presentation is loading. Please wait.

Business School Computing Division

Similar presentations


Presentation on theme: "Business School Computing Division"— Presentation transcript:

1 Business School Computing Division
Colin Price CDIEU Computer Development Integrated Environment for Undergraduates CBP 2004 ICMCE

2 Computer Science Programming
Operating Systems Microcontroller engineering Artificial Intelligence Programming CBP 2004 ICMCE

3 … from a Robotics perspective
ROBOTS SIMULATED ROBOTS Microcontroller engineering Programming Operating Systems Artificial Intelligence CBP 2004 ICMCE

4 Why Study Robots now? MIT Kismet Honda Asimo 2003 Sojourner 1996
NavLab (CMU) CBP 2004 ICMCE

5 Moore’s Law - Computers and Brains
CBP 2004 ICMCE Figure from ROBOT, Moravec, Oxford, 1998, Chapter 3: Power and Presence, page 68

6 Learning using Robots ? Robots are becoming commercially viable – need developers Serious promise of Artificial Intelligence – needs researchers Educational Aspects - Our findings Rapid learning of programming skills Need to understand and apply PHYSICS and MATHS Important analogy of living beings … the Self Important analogy of societies … communication CBP 2004 ICMCE

7 Human Robot Human Group Robot Group CBP 2004 ICMCE

8 CBP 2004 ICMCE

9 Human Qualities Affective Cognitive Psychomotoric Thinking Acting
Emotions Knowing Feelings Behaving CBP 2004 ICMCE

10 Braitenberg Vehicles Program Robot Behaviour lamp LM Light Seeking
if (leftEye == Bright) { RightMotor = 10; LeftMotor = 0; Sleep(1); } if (frontBumper == Hit){ RightMotor = -10; LeftMotor = -10; lamp LM Light Seeking Avoiding Sequential Programming RM CBP 2004 ICMCE

11 Subsumption (Brookes)
Combining Behaviours Subsumption (Brookes) Wander s Seek Light Avoid Motors bumper eyes Behaviour Modules How to Combine ? CBP 2004 ICMCE

12 Programming Subsumption
Multi-tasking if (frontBumper == Hit){ RightMotor = -10; LeftMotor = -10; Sleep(1); } Avoid bumper CPU if (leftEye == Bright) { RightMotor = 10; LeftMotor = 0; Sleep(1); } Seek Light eyes Wander concurrent tasks CBP 2004 ICMCE

13 Rod Brookes + Cogs CBP 2004 ICMCE

14 muROBOT multitasking operating system 400 bytes code memory
RS 232 multitasking operating system 400 bytes code memory 1000 behaviour switches / sec industry standard chip students involved in design ! industry standard IDE program in C compatible Java Simulator CBP 2004 ICMCE

15 CDIEU Simulation Environment
Java Simulation environment can run C-code each robot multithreaded Pedagogically interesting can run FSM architecture can run Associative Memory will be able to run LISP CBP 2004 ICMCE

16 Java Behaviour Routines
public void arbitrate() { for(;;){ if(collide_flag == true) { motorIpL = collideOpL; motorIpR = collideOpR; } else if (searchlight_flag == true) { motorIpL = searchlightOpL; motorIpR = searchlightOpR; } else if (wander_flag == true) { motorIpL = wanderOpL; motorIpR = wanderOpR; } muMonDefer(); eyeLF motorIpL Wander Collide SearchLight eyeRF motorIpR public void wander() { forever { wander_flag = true; wanderOpL = 10; wanderOpR = 10; muMonDefer(); } Behaviour routines give motor drive Arbitrator Selects motor drive CBP 2004 ICMCE

17 Operating Systems Multitasking Same code as robots - C
public Controller() { muMonCreateTask("collide"); muMonCreateTask("wander"); muMonCreateTask("arbitrate"); muMonStartScheduler(); } public void arbitrate() { for(;;){ if(collide_flag == true) { motorIpL = collideOpL; motorIpR = collideOpR; } else if (wander_flag == true) { motorIpL = wanderOpL; motorIpR = wanderOpR; muMonDefer(); public void collide() { for(;;) { if(body_touch == 1) collide_flag = true; body_touch = 0; collideOpL = -10; collideOpR = -10; muMonSleep(500); collide_flag = false; Operating Systems Multitasking Same code as robots - C Same structure as robot behaviours are tasks asynchronous inputs Shared variables, Mutexes CBP 2004 ICMCE

18 AI – Neural Nets Neural Net Controller (multi-layer) perceptron
If the connections are not crossed, then it turns away from excitation – coward Ipsilateral excitation CBP 2004 ICMCE

19 AI - Genetic Algorithms
if (frontBumper == Hit){ RightMotor = -10; LeftMotor = -10; Sleep(1); } How do we choose those numbers ? Trial and error ? Yes ! But get a computer to do it Select behaviours that work the best - natural selection. CBP 2004 ICMCE

20 AI – Deliberative / Planning
Planning/ Deliberative Entire program in LISP Hybrid LISP + subsumption Teleoperated robots Behaviour 1 Behaviour 2 Behaviour 3 s Motors sensors CBP 2004 ICMCE

21 CBP 2004 ICMCE

22 Trials in Schools Ages 13 – 19 Program in C, Industry-standard chip
Learn Programming via Braitenberg Solve whole industrial problem Design mechanical elements Design software control Lift, Furbie, Disco Lights, Aircraft ! CBP 2004 ICMCE

23 Why Learn to Program Robots ?
Is this a good vehicle for experiencing programming : LISP, Java, C, Finite State Machines, Associative Memory ? Does it enable creativity in ANALYSIS of problems and SYNTHESIS of solutions ? Will Science Education shift in emphasis from real world to world of real robots and computer games ? Does thinking about robots encourage students to think about philosophical issues (Nature of mind and self) ? I hope you weren’t expecting the answers? Dr. Ir. Colin Price CBP 2004 ICMCE


Download ppt "Business School Computing Division"

Similar presentations


Ads by Google