Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.