# Introduction to LEGO RCX robotics and Robot Sumo

## Presentation on theme: "Introduction to LEGO RCX robotics and Robot Sumo"— Presentation transcript:

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: Problems?
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

Mini Sumo Competition 1 Without Unknown Problem
Every team will compete with every other team Team picture time!!! Team 1 Team 2 Team 3 Team 4 Team 5 X

Team Picture The team picture will be printed on your personal certificate Please submit the following for each team: Team name Team member first and last name Team member grade Team 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 2 Team 3 Team 4 Team 5 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!!!

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