Articles & FAQ
This area includes general information and response to many of the questions we receive each month.
Why Won't My Robot Run Straight!
This is the most frequently asked question we've recieved over the years. Here are the reasons:
- USING PUFFY WHEELS: The basic pneumatic wheels that come with the starter kits compress easily and therefore constantly change diameter. The are also lumpy on the tread area. A robot of even moderate weight will force the wheel to compress as it drives creating unpredictable and uncorrectable changes in direction. The solution: Find wheels with hard, solid treads. The picture to the right shows many of the solid and thin tread wheels we've found on BrickLink and BrickOwl over the years. Many are UK only products. Please see the "COOL PARTS" article for more information. Click on the picture to see a larger view.
- USING A SINGLE AXLE MOUNT: If your wheel is attached by an extended axel only (not supported on both ends) then you again, create unpredictable and uncorrectable changes in direction. Why? The LEGO axles are very flexible, and the motor drivers have play in them as well. Wheels must have a rigid, matching mount on both sides to ensure stability.
- IMPRECISE TRACKER WHEELS OR GLIDES: Similar to "SINGLE AXLE MOUNT," if you have trailing wheels or glides (ball bearing or sliders or wheels) that are imprecise and not firmly mounted, it will wobble as you drive and respond to varations on frictional coeficient of the surface. This is particulary present in caster type wheels.
- NON CALIBRATED MOTORS: The NXT and EV3 motors are all amazing, powerful, and precise. But they are not all the same. We published a very simple way to calibrate your motors. See the article here.
- OUT OF BALANCE ROBOTS: Try to make your robots center of gravity in the center, seriously. A robot with a very heavy attachment or device on one side will cause the robot to track erratically.
- TEST TEST TEST: After you have followed all the steps above do multiple line runs on a smooth surface twice the length of the table. Try to isolate what is causing any drift and correct with that setup. Then document it.
- IMPLEMENT A GYRO SENSOR: This is very difficult to do and the Gyro sensors have their own drifing issues. However, there are hundreds links on Google on how to do this. Check them out: https://www.google.com/search?q=using+ev3+gyro+sensors+to+run+straight
Why Master EV3 Software (or any robotics programming system)
We got involved in FLL in 2003. Since that time I have coached a dozen or so teams, judged multiple tournaments, and served as a tournament director for since 2010.
Of the thousands of teams I've observed, most are using only rudientary programming skills. I call it brute force programming.
This includes only the basic commands.
- Drive for N rotation or degrees.
- Turn with the turn function.
- Run some other motor.
This type of programming will almost always get you the basic challenges. The ones that are close to base and easy to access. I can get you over the threshhold for awards. However, it is generally frustrating for the students for the following reasons:
- It is at all times unpredictable. A minor change in battery charge, change in humidity (effecting traction), a bump in the table surface, human variance/adrenaline, and more, all combine to make it hard to run repeatable missions.
- The imprecise mechanical properties of LEGO robotics. Even if you follow all the recommended construction techniques which include axles mounted with holders on both sides, wheels that don't compress, tightly installed motors, good center of balance, it is still an imprecise system.
- Variations in tables from event to event. Even thought all tournament directors strive to make sure the tables are competition ready and field kits are setup according to the guidelines, there are slight variations. Therefore, programming that relies on a precise positioning of the mat will fail.
- The speeds required to complete some challenges will cause wide variations in directional performance.
To excel and demonstrate precision in robot programing teams need to learn more advanced techniques with sensors. The advance functions will allow for repteatable, precise, predictable results. These include:
- Use of light sensors and all the related functionality. In particular, to capture and follow a line, follow one edge of a lines and switch edges, count objects, stop at a color or shape, measure with precision variations in color or shade, and how to calibrate them to the lighting at the event.
- Use of touch sensors in conditional programming. They need to know how to use them to stop at an object, confirm an action.
- Use of gyro sensors. These sensors have their own touchy issues, but they can be used effectively to keep the robot running straight and making precise turns.
- Use of ultrasonic sensors. While these are not effective at distance, they do work well in close quarters.
And they need to learn advanced programming techniques. The EV3 and NXT software packages provide a full range of modern programing features beyond the linear programming use by most teams.
- Conditional looping and switching.
- Parallel tasks.
- Use Loops and Switches to avoid an obstacle
- Navigate using Motor Rotation sensor feedback
- Navigate using Gyro Sensor feedback
- Simplify programs using My Blocks
- Simplify programs using Arrays
- Storing and transferring variable values from step to step.
- Doing calculations based on stored values.
- And more.
The best way to understand this is to watch high scoring robots from years of FLL events. Watch some of the videos at this YouTube search link.
And look at some of the images at a google image search for "advanced ev3 programming"
So that is your mission. The good news is your robot will not self-destruct after this message.
Which Mat(s) Should I Buy
There are a lot of options so here are some suggestions.
- If you want to start your teams on the process to mastery we suggest you use
- The "EV3 Introduction to Programming Mats" and free curriculum. You can see the mats and download the curriculum here.
- If your students already have programming skills or you have other programming curriculum you can use any of the general chalenge mats. These mats provide consistent, challenging, designs to master programming.
- For creative challenges look at our environmental mats. They provide a free-form space to come up with creative challenges.
- Various Grids for Programming and Research and Specific Programs
- And of course, there are custom mats. Have an idea? Contact us.
The internet is full of great tutorials, videos and and advice. Here are some of the leading options both paid and free.
Introduction to Robotics: Using the EV3 Software
This a free curriculum from LEGO Education. LEGO MINDSTORMS Education EV3 introduction courses provide practical, step by step, programming instruction for the EV3 software and LEGO EV3 system. These mats are an adaptation of the image included in Appendix A-D of the guide.
CarnegieMellon Robotics Academy
Carnegie Mellon’s Robotics Academy studies how teachers use robots in classrooms to teach Computer Science, Science, Technology Engineering, and Mathematics (CS-STEM). Our mission is to use the motivational effects of robotics to excite students about science and technology. The Robotics Academy fulfills its mission by developing research based solutions for teachers that are classroom tested that foreground CS-STEM concepts.
EV3 Curriculum Products:
DAMIEN KEE - technology in education
Damien works with students and teacher from around the world, bringing the effective use of technology to the classroom. Damien is a member of the MCP (Mindstorms Community Program), a small group of experts who collaborate with LEGO to make the MINDSTORM product better.
A huge amount of amazing resources:
STEM Robotics from Portland State University
Who can use this site? K-12 teachers, afterschool program coaches, college/university faculty, students, parents, … In short, anyone interested in learning or teaching robotics. What's our focus? providing educational materials for teachers of: Science, Tech Ed, Engineering, Math, Applied classes, Robotics, Engineering Graphics, FIRST teams in FLL, FTC, FRC, etc. What do we have here? complete curricula (with lessons, assessments, instructor guides, etc.) and individual resources (e.g., videos, lectures).
An astounding set of courses available to educators.
Go to Google
A search on Google will yield hundreds of resources.