Learning serious knowledge while “playing” with robots : Learning serious knowledge while “playing” with robots Zoltán ISTENES
ELTE – IK - PSZT
Introduction : Introduction Building and programming robots seem to be just a „game” but :
Programming robots requires the use of knowledge from different parts of informatics
Robotics can be used as a reduced test environment
Students learn and experiment without the feeling of studying
Presentation summary :
The material and the programming
3 different projects
The educational benefits
The material : Lego Mindstorm : The material : Lego Mindstorm RCX
Microprocessor (H8, 16MHz)
ROM (16K) power on program
RAM (32K) firmware, user programs
Infra red (IR) port
3 input sensors touch, light intensity, rotation, …
3 output motors, lamps, …
IR tower (attached to a computer)
Lots of Lego bricks, gears, …
Controlling / programming possibilities : Controlling / programming possibilities
The „line following” project : The „line following” project Objectives :
Build a mobile robot and program it to follow a line
Make the robot go „as fast as possible”
Challenges :
Different lines (large, thin, continuous, with gaps, sharp turns, line crossings, etc…)
Control algorithms for 1, 2 and 3 sensors
Real time, changing environment
Learning, adaptation
Fault tolerance, error recovery
Different control algorithms for different lines (large and thin line) : Different control algorithms for different lines (large and thin line)
Different control algorithms for 1 and 3 sensors… : Different control algorithms for 1 and 3 sensors…
The used techniques and knowledge (1) : The used techniques and knowledge (1) Real time constraints appear when the robot goes „as fast as possible” :
Sensor reading and information processing speed
Motor-robot inertia, wheel slipping…
Fault tolerant, error recovery techniques are used when :
Unreliable sensor values
Inaccurate surface
Loosing the line…
The used techniques and knowledge (2) : The used techniques and knowledge (2) Initial calibration and adaptation are used in the „changing environment” :
Changes in the light intensity of the line (room lamps, robot shade, …)
Battery’s charge…
„Learning” techniques can be used to determine :
How fast the robot can go (acceleration on long straight lines)
How sharply the robot should turn
How to avoid endless repetitions
Educational benefits of the „line following” project : Educational benefits of the „line following” project Students confronted, used and learned :
Real time constraints
Robust, fault tolerant control algorithms
Error „recovery” techniques
Robot’s learning and adaptation to the changing environment
Game playing projects : Game playing projects Project objectives :
Two or three RCX is playing with each other
Games :
Number guessing
Battleship
Tic-tac-toe
Challenges :
Game playing logic
Inter RCX communication „Server”
Visualisation „Client” Player 1 „Client” Player 2 „on turn”
Educational benefitsof the „game playing” projects : Educational benefits of the „game playing” projects Students learned and practiced :
Communication protocols
Broadcast, peer-to-peer
Client-server architecture, game master election
Game logic algorithms
Experiments with “discovering robots” : Experiments with “discovering robots” 1. Capturing the camera image 2. Image processing :
Identification of the robot and the target 3. Constructing an internal representation of the environment, searching for a path 4. Sending control information to the robot Web
camera Mobil robot Target object IR comm. port
Slide15 : The robot must find, turn and go to the target object
Educational benefitsof the “discovering robots” project : Educational benefits of the “discovering robots” project Students learned and practiced :
Image processing, image/pattern recognition
Computer graphics
Path (graph) search
Artificial Intelligence
Control information’s sending
Communication
Educational benefits of programming and using robots (1) : Educational benefits of programming and using robots (1) Building and programming a robot require knowledge from several different fields of informatics, such as :
programming languages and techniques,
communication and networks,
artificial intelligence and agents, pattern recognition, computer graphics,
etc…
„Students learn to apply these knowledge.”
Educational benefitsof programming and using robots (2) : Educational benefits of programming and using robots (2) Building and programming a robot can be seen as a reduced test environment of the real world :
Robotics facilitate to model real world’s problems
Problems arise faster, since the hardware and software limits are reached sooner
„Students learn to find out and apply solutions, and they acquire a large experience in solving problems for the future.”
Educational benefitsof programming and using robots (3) : Educational benefits of programming and using robots (3) Building and programming a robot - during the courses - seem to be motivating and interesting, such as :
Working in a team
Using creativity to construct a project and to realize it
Producing a tangible, working result
„Students enjoy this kind of thinking, programming and learning.”
Conclusion : Conclusion Robot programming facilitates to think, to apply, to combine and to practice :
How to use knowledge from different fields of informatics.
How to take advantage of a reduced test environment.
How to enjoy learning.
Students have the feeling of “just playing with robots”, but in the reality, they learn serious knowledge.
Slide21 : Thank you for your attention ! istenes@inf.elte.hu http://people.inf.elte.hu/istenes