RESOURCES & LINKS FOR
FIRST® LEGO® League 2011
AND GENERAL ROBOTICS
Overview
To date, all the FIRST® LEGO® League challenges have required that the robot gets to a specific position / item on the mat, lifts / pushes / pulls / carries a particular item, places the item in a specific position / returns to home base, ability to avoid specific items / positions on the mat, traverse unusual surfaces such as hills or rollers (this part is also a building challenge). Without accuracy it's impossible to complete a mission.
If teams prepare these skills in advance of the new year's mat being available they will be well placed to launch their team into the new challenges. Many of the tools and links on this page deal with these skills
FLL 2011 FOOD FACTOR RESOURCES
The 2011 Project and Challenge details will be released world-wide in September yearly, until then there's plenty you can prepare
Melbourne Forms
2011 Rules and Documents
General Link for mentors : manual from firstlegoleague.org
Core Values - Make sure you read this
2011 Details and Tools
FLL media release form (must be signed)
The Complete Challenge, links to rule updates
YouTube Video explaining the challenges
Food factor Building Guide for elements, includes update
Programming sequence planning sheet
Programming NXT for FLL - Accuracy on the Mat
firstlegoleague.org's programming hints
Though the official FIRST® LEGO® League web sites offer excellent information and resources some teachers who are new to robotics and/or FIRST® LEGO® League may feel more reassured if they have access to more structured material. Please use your discretion as to how much/little you actually provide your students with.
These associated worksheets and teachers notes are provided as information and guidance for teachers and mentors to give you a starting point and the confidence that these tasks are achievable; they also provide some clues if the students come to a stale-mate. They are not intended as “how-to” instructions for students, please use this information sparingly and with consideration for the FIRST® LEGO® League rules and ethics, it should be the students work. Your students will probably come up with many better and different solutions. Please read the teachers notes in conjunction with the field set-up and rules as they work together synergistically.
The robotics missions on the FIRST® LEGO® League mat all rely heavil y on the ability to get the robot accurately to a place on the mat where it can carry out the designated action.It's important that you are able to program movement with accuracy. The best method of doing this is by using motor degrees. Strangely, even though you are using degrees, the NXTg software sensor blocks often require that you select the ROTATION sensor and then configure it to monitor DEGREES.
Automatic degrees:distance reader NXT programs
Distance to Degrees - programming Tools The following links to 5 NXTg sample programs that provide a method of getting the robot to measure the distances it needs to travel for specific distances on the FLL mat. Each program will move the robot until you press the touch sensor. It will then display the distance travelled as a degrees reading on the NXT LCD screen, so be ready to write down the readings.
Measure and show degrees for straight lines forwards
Measure and show degrees for a spin ( turn)left
Measure and show degrees for a spin ( turn)right
Measure and show degrees for straight lines backwards
Measure and show degrees for a wiggle line (edge) follower
I've also included 2 My Blocks that you can use to reset the degrees sensor for motors B and C and a My Block that stops B and C and then shows the degrees readings for motor B and then motor C. To use these My Blocks in your programs you will need to paste them into the NXT software following this path -->LEGO Creations-->MINDSTORMS Projects-->Profiles-->Default-->Blocks-->My Blocks. Once copied into this folder these My Blocks can be accessed from your NXT software by clicking the My Blocks tab
Using these programs to work out distances - degrees has a number of benefits over other more manual methods and is faster and easier to modify. Read the explanation here.
OR - The following .pdf worksheet provides a clear programming guide to using degrees to accomplish accurate positioning using mathematical methods.
WORKSHEET - Exact Control - programming using degrees using NXTg software and the NXT robot
Exact Control - programming using degrees using RoboLab 2.9.4c and NXT robot
Also : Both these documents contain more advanced programming hints for line following and using the Ultrasonic sensor
Once you have calculated a 'key' for your robot you can use this key to calculate exact turns, being able to turn accurately is essential for FLL. This worksheet will explain how
Here's another tool that contains a number of Excel worksheets with all the formulas and explanations to assist you with programming distance to degrees
What about this for FLL? Odin is a robot that estimates its own position while it moves using odometry. In order to do that it measures as precisely as possible distances traveled and orientation of displacement. Its mechanical structure is well suited for that: when traveling it rolls on four parallel wheel so it is able to go very straight. For turning, it raises itself on a central pivot, turns around it and goes down, ready for the next move
Registering your Robot's Start Position Inside 'Base'.
Programming accurately is only part of the story, logical , creative thinking is also required to physically position the robot in the same position inside "Base" so that your accurate measurements have the chance to work consistently. Students often don't get this concept so you will need to explain carefully and enforce this discipline.
- Measure from the same start position to same stop position every time.
- Start the robot inside home base consistently from the position that you took your measurements from.
- Allow for the 'build of the robot' in this measurement.
- If you are using degrees to program location - remember that the robot measures degrees from the axle through the motor you are using
Some students use LEGO® elements to create a 'jig' to measure placement of their robot, others use the markings conveniently provided on the mat to accurately "register" where the robot's starting position is for each task
To assist with this process you can download sheets and tools that the students can use to record where they are taking measurements from and where they are placing the robot inside base
Another tool that you can either download and use or ask your students to make their own,it's a "Mat Map" where students can mark in their robot's paths, measurements and turns. Please note that it's not to scale so students will need to make the measurements on the mat itself.
Use this link for some great program samples
From Techxellent Training - Many of these programs are explained in the Exact Control , Let the Robot Tell You and Line Following Lab documents
Note these samples were written using NXTg Version 2. Users of earlier versions of this software will be able to open these samples but they will not download into the NXT brick, you will have to copy the program using your version of the software and then download it.
Download the instructionsNXT Programs
Wiggle line follower - Note, if you use a line follower you will still need to control how long the robot follows the line for ( duration). As a wiggle line follower runs the drive motors alternating you can't use standard degrees-distance calculations.
Automatic line follower - data hubs and variables
These programs removes the human element from taking light readings for the line, the robot does it by itself.
Line Follower - 1 light sensor, automatic calibration
Line Follower - 2 light sensors, automatic calibration
Line Follower - 2 light sensors, auto calibration and auto degrees read
Line Follower- 2 light sensors controlled using a loop for degrees block
One of the strange behaviors of NXT G programming is that you need to add sounds after the wait for press blocks. If you don't then the auto calibration doesn't appear to work
Wall hugger with ultrasonic sensor follow the wall
Automatic wall hugger get the robot to calibrate the ultrasonic sensor and then follow the wall
Automatic Distance to Degrees Program Tools
These programs gives you a way to easily plot and measure distances that you want your robot to navigate using Move and Motor blocks that use degrees as their duration
Automatic distance - degrees - straight lines
Automatic distance - degrees - backwards
Automatic distance- degrees - Right spin turns
Automatic distance - degrees - left spin turns
Automatic distance - degrees -for line following
My Block - Reset degrees sensor on motors B and C
My Block - Show the degrees reading for motor B then motor C on the NXT screen
Getting the NXT robot to travel straight
Travel Straight: In an ideal world all the NXT motors should be the same and have the same performance; however, in practice this is rarely the case. For whatever reasons, programming both NXT motors in a vehicle to travel for 1000 degrees will not always result in the same distance of travel for both motors; hence your robot may pull left or right depending on the severity of this variation.
If your robot's motors are not a perfect pair, despite having programmed them using degrees to travel straight for the same number of degrees, the robot may be crooked. Worse still the further your robot travels the more crooked it will become. i.e. If a robot programmed to travel 45 cm (900 degrees on a perfect robot) straight actually veers a little crooked, this crookedness will be magnified if the robot needs to travel 90cm (2 times worse!).
One solution to this problem is to travel long distances in a sequence of small distances and re set your degrees sensor between each segment. Have a test of this program and compare the robot's straightness against a long straight distance that isn't segmented.
You can further improve your chances of actually going straight by pairing your drive motors so that their performances are equal. To do this most effectively you need to reduce all the variables that can influence motor performance such as weight, wheel size, NXT brick, battery strength e.t.c.
Devise a simple vehicle that is powered by one motor only and charge the NXT battery. Program this vehicle to travel 900 degrees and accurately measure the exact distance down to the mm that the vehicle travels. Repeat this at least 4 times and record your measurements. Change the motor and repeat the experiment until you find two motors that have the exact same distance for 900 degrees. These are the two motors you will use in your competition robot as they have the exact same performance. Download the following program and .pdf for more information on traveling straight.
RoboLab 2.9.4c Programming Software
From Techxellent Training For NXT Robots
Many of these programs are explained in the Exact Control RL 2.9 worksheet
Go straight over a longer distance program and read the explanation for this program, the logic is the same as for the NXTg programming
Synchronise Motors, de synchronise and turn
Automatic wall follower - containers and event
Wall hugger with ultrasonic sensor
Automatic wall hugger with loop while
Count and Compare ( Containers)- Use the intersecting black lines on the main line to the grey loop to help position your robot to push the lever on the crash test truck
Have a look at the behaviors sub menu on the palette, you will find the line follow and distance behaviors extremely useful as they have been "tweaked" to speed up the NXT motors responses. Even though there's an RCX brick icon there it still works for the NXT but you will need to change the sensors to NXT sensors

RoboLab - RCX Users Tools
Using Robolab with the RCX bricks is an option for students competing in FIRST® LEGO® League. However, as all the challenges are initially positional, i.e. getting the robot to the correct spot on the mat to execute the required action; RCX users will require 2 rotation sensors attached to both driving motors.
By attaching a rotation sensor to each motor you will be able to more accurately direct the robot to a given position on the mat. Download the following information to assist you with programming the RCX using the rotation sensor
The angle sensor is a digital sensor. Using the RCX brick and ROBOLAB software it can measure direction of rotation, number of rotations, angular velocity, and angles. The angle sensor has 16 positions per revolution and can rotate 360° at maximum 500 rpm. The accuracy of this sensor is somewhat less than the NXT rotation sensor that has 360° positions per rotation. The Melbourne competitions will make allowances for schools using this older equipment
Open the program above in RoboLab Inventor 4, If the black background screen appears click on WINDOW --> Show Block Diagram, to see the program
More Advanced NXT g Programming
Creating and Using Variables .pdf
Automatic distance - degrees readings
Subscribe to this live feed for a super assortment of NXT programs
OTHER USEFUL LINKS
Download the NXT v1.28 firmware created on 12/8/09 from LEGO® Engineering
FLL Building
Click here for more building links
Another Fork Lift, note the gear rack elements
https://sites.google.com/a/mcpsweb.org/bms-technology-ed/pictures-video/josh-nxt-forklift
Try this link at LEGO® Engineering for some building inspiration This multi bot design provides heaps of flexibility for FLL Stable Robot ( Techxellent Training) Here's a great selection of building projects A simple robot from Australia's Damien Kees http://www.legoengineering.com/library/cat_view/30-building-instructions/38-nxt-based-creations.html The 2011 Food Factor Challenge has been designed in such a way that students will be forced to consider a wider range of building options. I'm including some details on some additional NXT elements that should increase students building options. It should be noted that if you use the caterpillar treads, each hub requires 2 x 24 tooth gear wheels to mesh inside the hub These parts are available in a single element type ( 2/4/5 or 10 pieces) from MOORE EDUCATIONAL and navigate to the customer service items from the menue on the left Caterpillar tread 717 & Belt 716 Grey Technic Double Cross block 735 Grey Angular beam 90 degrees with 4 pegs 782 From my perspective I feel that this particular element is the most valuable addition to your sets for FIRST® LEGO® League, it makes changing the plane of your construction extremely simple, great for adding robotic claws etc. please phone to place your order as this item is not listed on the web site phone (03)9372 8728 (Victoria) 2009 price is $5.00 for 10 exc. delivery and g.s.t. The 9648 NXT resource set contains the above elements as well as the following elements that I find particularly useful. The large white spoked wheel with tyre is available in a limited quantity from Moore Educational, please phone to place your order as this item is not listed on the web site phone (03)9372 8728 (Victoria) : Moore Educational For Spare parts Consider using some of the more un-usual pieces from other educational LEGO sets such as these sails and flat pieces Have a look at some of the building ideas that the boys at Melbourne's 2008 eTrain came up with




Help! My NXT Brick Is Out Of Memory
As FIRST® LEGO® League competition requires students to have several NXT programs loaded onto their NXT brick at any one time I have had some questions regarding the NXT bricks memory and the download message "NXT Brick is out of Memory" Follow the link below to download the "Writing Efficient NXTG Code" from LEGO® Engineering, this should assist you with this issue as for FLL students will have several programs stored on their NXT bricks. (If you are using the RCX or RoboLab with a NXT brick, memory will not be a problem)
LEGO® Engineering has produced a handy document that gives you hints on how to manage the NXT memory, click here for this link
NXT Firmware & NXT Software versions
Download the NXT v1.28 firmware created on 12/8/09 from LEGO® Engineering
Note that if you are changing from the computer that you originally wrote your FLL programs on to a different laptop for the competition that NXT programs written in versions later than version 1 may not be down-loadable from an earlier version of the software and vice versa. To make sure that everything works on the day use the same version of the software that you wrote your programs on.
LEGO has updated the NXT education software 3 times since it's original release. Each new version has improved functionality so you are best served using the latest version of the software. Older software can be updated a little by installing the latest FIRMWARE. ( see above) but remember to install the firmware on the computers you will use at the competition.
Help! My NXT brick isn't working.
Your brick probably has NXT clicking syndrome. Don't worry, it's fixable. Download this document to show you how to re set your brick
Other Technical Tips
Tech Bricks has a page of very useful information, especially regarding the motors.
Page updated October 2011
Please note that these worksheets are not endorsed or sanctioned by LEGO® , FIRST® or FIRST® LEGO® League





















