Introduction to LEGO RCX robotics and Robot Sumo
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: l l l ¡ Go forward until the edge Backward slightly (in Big block) Turn right Problems? l l 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 2 Team 3 Team 4 Team 5 X X X X
Team Picture The team picture will be printed on your personal certificate ¡ Please submit the following for each team: ¡ l l 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 l 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… l ¡ Team 1 Team 2 Team 3 Team 4 Team 5 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 Sumo. Bot Improve (debug) your program! ¡ Applying Theories learned in Physical Science ¡ l l l ¡ Mass, Newton’s laws Friction Gearing Wheel size Power level Detecting the opponent (can be done later) l l 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 9 V ¡ How to check the voltage level ¡ l l 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: l l 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 My. Commands ¡ Use Main Menu | Program | Vault ¡
- Slides: 28