Info Meeting for Robofest

Download Report

Transcript Info Meeting for Robofest

Introduction to LEGO RCX robotics
and Robot Sumo
Workshop Day 3
CJ Chung
Associate Professor of Computer Science
Lawrence Technological University
Workshop Third Day






Improved Sumo program
Mini Competition
Tips and Ideas to improve your Robot!
Advanced Topics in RCX code (optional)
Team Pictures
Planning
Review: Basic Sumo

Repeat the following forever:




Go forward until the edge
Backward slightly (in Big block)
Turn right
Problems?


Same behavior all the time!
Touch sensor was not used
Improving the Sumo program


Introduce a random wait value for turning
Introduce a touch sensor watcher –
whenever the bumper is hit, change the
direction
Improved Sumo
Program
Random
between
0.5 ~ 1.2
seconds
If your opponent is pushing
Your back, then change your
direction
Mini Sumo Competition 1



Without Unknown Problem
Every team will compete with every other team
Team picture time!!!
Team 1
Team 1
Team 2
Team 3
Team 4
Team 5
X
Team 2
Team 3
Team 4
Team 5
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Team Picture


The team picture will be printed on your
personal certificate
Please submit the following for each
team:




Team
Team
Team
Team
name
member first and last name
member grade
member gender
Mini Sumo Competition 2

With Unknown Problem:
The robot must wait until touch sensor is pressed
 Wait 5 seconds, then start to move
You cannot use the previous way using a touch sensor
watcher! Why? Whenever the touch sensor is pressed, the
robot will spin…


Team 1
Team 1
Team 2
Team 3
Team 4
Team 5
X
Team 2
Team 3
Team 4
Team 5
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Better Program for
the competition 2


A nested loop
Repeat Until that
will terminate
the loop
immediately
when the
termination
condition is met
Unknown
Problem
solution
Is this a perfect program?


No, there are still some problems
One example:
• The robot detects the edge line.
• Move backward.
• Turn right around 90 degrees.
• Then the robot must see the outside
of the ring which is very dark!!!
Ideas to improve your SumoBot


Improve (debug) your program!
Applying Theories learned in Physical
Science






Mass, Newton’s laws
Friction
Gearing
Wheel size
Power level
Detecting the opponent (can be done later)


Touch sensor
IR and light sensor
Ideas to increase weight of your Robot




What is the max weight of each division?
Add more Lego blocks, if you have some
at home
Add Coins, Used Batteries, or others –
make a holder using cardboards
Put your team name on the robot. An
idea: make a team flag
Ideas to increase friction of your Robot


Use rubber bands
Add more wheels later for Worlds
Gearing Ideas



Use gear train to increase gear ratio
Considering resources, this is not allowed
for the school qualifier
The winner from the school qualifier may
consider this idea later
Changing Wheels?



Using bigger wheels
Considering resources, this is not allowed
for the school qualifier
The winner from the school qualifier may
consider this idea later
Make sure the Power!



RCX power level: 1 ~ 7
Voltage of your batteries should be
around 9V
How to check the voltage level


In RIS, click on Settings
LTU will provide fresh batteries for all the
teams on the competition day
Changing the shape of the Robot


Make it sturdy
Front part may need some changes (After
the school qualifier)
Height of the robot matters?

Consider the “center of gravity”
Ideas using 2 Touch Sensors
A touch sensor –front left
Another touch sensor – front right



If left sensor is pressed – turn left and
push hard
If right sensor is pressed – turn right and
push hard
If both left and right sensors are pressed,
push straight hard
What is next? - Meet with your teacher at
least twice before the school qualifier




Improve your programs
Add stuff for the max possible weight for
your robot
Review what you have learned for the
unknown problem. If you do not solve the
unknown problem, you lose automatically
Signed Media Release form must be ready
before the qualifying competition date at
your school
Implementing Proximity Sensor to detect
opponent (optional)




Use a Lego Light sensor and Infrared message
sending capability of RCX
RCX is continuously sending IR messages
Using another light sensor facing forward,
measure fluctuations in the light intensity that is
reflected from objects
The higher the fluctuation, the closer the robot
is to an object
How to detect the light fluctuation??



You need to store previous sensor
reading(s)
Compare with current reading
If the difference is more than threshold
value, some thing is in front!
preval becomes the value of
Light 3
preval = preval + 3
If the current light sensor
reading is greater than
(previous value + 3), then
some thing is close.
Sumo with proximity sensor

Repeat forever:




Scan until find the opponent
Go forward until the edge
Backward slightly
Turn right
My Blocks (optional topic)
Opening a saved program (optional)


Never use File | Open! There is a bug
involving MyCommands
Use Main Menu | Program | Vault