Genesee Robotic Area Youth Team    Leviathons Team 1322

                Member of the Mid-Michigan Robotics Alliance    

        

Home
Up
SAFETY FIRST
Team Schedual
Pictures
FRC
FTC
Legos
Forums
Forms
Community
How To
Members
Sponsors
Links
Contact Information
News
Donations
Awards

Home >>Legos >>Lego Tips

Lego Tips

    ac·cu·ra·cy (²k"yr--s) n. 1. Conformity to fact. 2. Precision; exactness.

    con·sis·tent (kn-s¹s"tnt) adj. 1. In agreement; compatible: The testimony was consistent with the known facts. 2. Being in agreement with itself; coherent and uniform: a consistent pattern of behavior. 3. Reliable; steady: demonstrated a consistent ability to impress the critics. 4. Mathematics. Having at least one common solution, as of two or more equations or inequalities. [Latin c½nsistns, c½nsistent-, present participle of c½nsistere, to stand still. See CONSIST.] --con·sis"tent·ly adv.

 

Below are some things we learned about designing and programming a good Lego robot using the NXT. Keep in mind a robot that is consistently accurate is easier to program and has a better chance of completing all of the missions. You can scroll down or quick link below.

 

Robot Balance

Drive Wheels

Arms & Attachments

Build two Arms

Programming

Sensors & Zero Point

Printing & Sub Routines

 

 

Robot Balance

Placement of the axel "A" will determine how straight the robot will go, if it is too long it will not turn well and if it is too short it will not run straight.

Placement of the center of the weight "C" will determine how well the robot will turn, if it is too far forward it will tip and not turn accurate. If it is too far back it will turn hard. We place the arm and attachments on the front of the robot to allow for the balance to be close to the drive wheels. with the balance close to the drive wheels it puts most of the weight on the drive wheels which gives good traction and makes for accurate rotation count in degrees.

 

Drive Wheels

The size of the drive wheel is very important, a large wheel will not give you accurate rotations, and a small wheel will not give you enough speed. If you must climb items in a game  than the large wheel is important but you must than gear it down for accuracy.

We have found that using tank tracks restricts how well the robot will turn accurate. Using a set of front drive wheels with a skid roller wheel in the rear is the most effective. It rolls forward very easy so it will allow for good count of the rotations and if they are thin than it allows for the turn to be with little effort making the turns accurate.

 Other things will affect the accuracy of the robot are the temperature of the tires, warm soft tires grip better than cold hard tires, and dust on the surface, which allows the tires to slip. If the drives are cold they will not move as easily as warm drives. Weight shift from use of the arm by lifting items will also change the accuracy. A fully charged battery verses a week battery will affect the accuracy count also. 

 

Arms & Attachments

Arms and attachments: if you make your arms and attachments simple it makes changing them easier. You have less that will go wrong. Design your missions using one attachment as many times as possible and as the missions progress detach items not needed as you go. It is easier to take parts off the robot than it is to install them. An example is lets say you have an arm with many parts to do multiple missions and as the missions progress you take off the items you don't need and by the end of the missions you may not have any thing left, than the last mission is the one where you must push something to place it. If you design the attachments to be added during the matches it may take additional time to assemble and make it all fit. One way of making this attachment easier is using pins and loops for the attachment. Another words provide a part on the robot that has a loop sticking out that you can slide a pin through it and your attachment. When attaching the item you mate it to the robot and slid a rod with a handle through it. Removal is just as easy.

 

 Build two Arms

Build two robots if you can. After you build the robot you are going to compete with, build a second identical robot. This will allow two teams to program at the same time by taking turns with the computer and the field. This will cut your programming time in half. Also while working together like this they can see how each others missions will come together at the end. When all the programs are completed and because their are slight differences in the movement of the two robot you must reduce to one robot. Choose the best robot of the two and use that robot for the final fine tuning of the missions. The drivers should be selected from the two Program teams, they are familiar with their programs and should drive that portion of the programs. This would be two drivers for the first half and two drivers for the second half. This will also make it easier for the drivers to remember what they must do for their missions.

 Remember to place the access door for the battery in a way that you can remove it with out taking apart your robot. This will make battery changing quick.

Programming

When programming turns turning both wheels (above left) at the same time is less accurate. If let say you program a turn to one rotation, both wheels are turning in opposite directions one rotation which in reality is two rotations of distance.  If you program to drive one wheel to turn( above right), it is more accurate. One rotation move of one wheel is one rotation. If you look at the drawings above you can see that the one on the right is a larger circle and that will also give you more accurate turns because the one wheel has to travel twice as to equal the distance of the wheels on the left. Using coast or brake with the motors can also give false readings, when coasting the count  can accumulate and give you bad counts. The speed can also change how accurate the turn is. A high speed may miss the turn count and a low speed will not allow the robot to get to the turn count. 2/3 to 3/4 speed would be a good guess for an accurate count.

Programming using meters is more accurate than using inches, but using degrees is even more accurate because their are 360 degrees in a rotation. So if you program for one rotation than the wheel rotates 360 degrees and if you program 1 degree your wheel turn a fraction of the 360 degrees. You will also have to insert a motor reset block to reset the rotation count. If you use coast the rotations can accumulate and give false rotation counts. Brake is more accurate but can slow down the movement of your robot.

 

Sensors & Zero Point

Don't be afraid to try the sensors. Once you use them they become easy. Using the mat lines to locate your robot is always a plus. Using the ultrasonic sensor is useful to have your robot stop or turn at the right spot. It can check the distance to the wall or the item.

 As you program turns the more turns the farther off the robot can get from the intended finish point. If you can find a way to have a zero point one or two turns in, its like having a new start point. 

 If you can have two lines to check ("A" above) or a wall to run into or a game piece that don't move that you can use to bump the robot into its like telling the robot it has a new start point. and from that point you can go an additional two turns and be accurate at the final destination.

   (*click on picture to view larger*)

Printing & Sub Routines

When printing your program, if it is a large one it sometimes comes out too small to read like the one on the left above, but if you copy and past parts of it to Microsoft Word you can make it large enough to read like the one on the right above.  Click on the above and you can see the sub routines we used in two locations. We started out with three programs for the above and combined them into on. We used sound block, display block, rotation reset block, wait for NXT Button Block and another Display block in a sub routine we used between the programs to allow for the drivers to know when the robot is ready for the next program. Above right is two sub routines, the one just described and one to follow the line. To make a sub routine (You must know for judging) use a My Block from the drop down list and in that you build a sub routine. The My Block you can name it and than drop it into your program as many time as you need it. The example program above we named it START PROGRAM and we used it twice. The block named Start Program has the sub routine in it which is above on the right.

If you have additional questions regarding programming please use the help window of the Mind Storm Program, all of this is in it.  if all else fails contact us and we will try to help you:

jkweber@charter.net or kmweber@charter.net

 

 

Top of page


Home | Up | SAFETY FIRST | Team Schedual | Pictures | FRC | FTC | Legos | Forums | Forms | Community | How To | Members | Sponsors | Links | Contact Information | News | Donations | Awards

 
Copyright 2007
Last updated: 09/06/08.