January 26, 2011

Rubik's Cube Solver

Mindstorm robots that solve Rubik's Cubes never fail to amaze me. I can only imagine how complex the programming is... and even building it to be that fast, efficient, and accurate must be a challenge. However, many people have done it. Recently I found a video of an amazingly fast robot created by Mike Dobson:





Also, here is a discription as it was posted on YouTube:

The Worlds Fastest Lego Mindstorms RCX Speedcubing Robot. Built entirely from lego elements with a lego web camera to scan the faces of the cube, The solve engine (algorithm) running on the computer is provided by the incredible "Cube Explorer "software which also provides the colour recognition required to determine the exact location of each coloured square. Thanks to Herbert Kociemba for making his work available to anyone wishing to use it! Respect! "Cube Explorer" has the ability to produce very fast solutions to a successfully scanned cube, usually around 20 face turns! Doesn't sound a lot , but it is believed that around 20 turns are enough to solve ANY 3x3x3 cube combination. I'm still working on "CubeStormer" I would like to see it reach sub-10 and feel it's close to that. but reliability begins to suffer when you start to push things just that bit too far..... Special thanks to David Gilday for his assistance with the software interface to Cube Explorer.....Enjoy !

January 24, 2011

What is FIRST?

FLL Student using Mindstorms
FIRST (For Inspiration and Recognition of Science and Technology) is a program created by Dean Kamen, a very well known inventor (he invented the Segway, and a ton of other neat stuff that I won't get into right now). His mission in creating FIRST was to, "inspire young people to be science and technology leaders, by engaging them in exciting mentor-based programs that build science, engineering and technology skills, that inspire innovation, and that foster well-rounded life capabilities including self-confidence, communication, and leadership." Why am I telling you all this? Because I'm sure that anyone who is interested in Mindstorms would have a great time and benefit so much from being on a FIRST team. There are four branches of FIRST, each for a different age range...


Jr.FLL (Junior FIRST LEGO League)- The newest program in FIRST introduces the youngest (ages 6-9) students to the exciting worlds of science and technology. Just like FLL, this program features a real-world challenge, to be solved by research, critical thinking and imagination.
FLL (FIRST LEGO League)- Introduces younger students (ages 9-14) to real-world engineering challenges by building LEGO-based robots (Mindstorms!) to complete tasks on a thematic playing surface
FTC (FIRST Tech Challenge)- FTC is designed for those (ages 14-18) who want to compete head-to-head, using a sports model. Using Tetrix components, teams of up to 10 students are responsible for designing, building, and programming their robots to compete in an alliance format against other teams.
FRC (FIRST Robotics Competition)- “The varsity sport for the mind,” FRC combines the excitement of sport with the rigors of science and technology. Under strict rules, limited resources, and time limits, teams of 25 students or more (ages 14-18) are challenged to raise funds, design a team “brand,” hone teamwork skills, and build and program robots to perform prescribed tasks against a field of competitors.

I am currently in FRC, and we're on our third week of building a robot we only have 6 weeks to build. It is a ton of fun, and I look forward to our competition in March. If you're interested in FRC, perhaps you would like to check out the video that explains what the robot we're building needs to do in this years challenge? The video is embedded below... enjoy, and make sure to turn the sound on. ;) Also, to learn more about FIRST, go to their official website!






January 19, 2011

Unofficial Mindstorms Contest

Picture of Contest Field
While LEGO is taking their time releasing the next contest, you might want to check out this unofficial contest being held by MySnailEatsPizza. The contest ends January 31, but he recently left a post saying: "The original deadline was January 31st, But I can make it later if need be. Just ask me to make it longer and I will." It looks like a pretty awesome and challenging contest. I was planning on entering, but I haven't found the time. Good luck to all those who do enter!



January 16, 2011

Need More Mindstorms?

Here's a contest for you to enter! You do not need to own a Mindstorms set, nor do you need to own LEGO Universe! Everyone in the US, the UK, and Germany can enter. All you have to do is fill out a form, and send it by mail! There will be three winners, and each winner will receive 1 NXT 2.0 set, 1 Infrared Seeker, and 1 copy of LEGO Universe! Read more about it here!


January 14, 2011

14-year old FIRST LEGO League programmer sets off the Google Science Fair!

Tesca, an FLL Programmer
"The Google Science Fair invites young scientists from around the world to submit interesting, creative projects that are relevant to the world today!"

Another post has been posted in the news section of the Mindstorms website concerning the Google Science Fair. Read more about it here. The Google Science Fair, sponsored by LEGO, seems very interesting. Please let me know if you give it a try.

January 11, 2011

Join the global science fair!

To help make today’s young scientists the rock stars of tomorrow, the first global online science competition is live: the Google Science Fair!

In the news section of the Mindstorms website (read more), I found that an awesome new program has been released! It is an online science fair powered by Google, LEGO, Scientfic American, National Geographic, and CERN!! You have to check it out!! It is so awesome!! Go here!

January 8, 2011

Centripetal Force

Something I've always been interested in when it comes to robotics is centripetal force. To put it simply, centripetal force occurs whenever you have a mass rotating around another mass.  The first mass will seem to have a strong force pulling it away from the mass it's orbiting. That force is centripetal force. Here are some examples of centripetal force used with the NXT (the following projects were used without permission from the owners. I figured they would be ok with me using their awesome creations as examples, and if they are not, I hope they will notify me so I can remove them immediately. Thank you.):

PSYCLONE: THE RIDE
By NXTManiac
PSYCLONE: THE RIDE
This project is one of my favorite examples of centripetal force. Basically what happens is when the ride starts spinning, the chairs are pulled outward by the centripetal force. You may be wondering where the two masses are here. After all, doesn't the definition of centripetal force say that in order for the force to exist, we need two masses, one orbiting the other? Well in this case, there are a lot of individual masses going around a larger mass. Can you guess what those masses are? Well, the little masses are the chairs the minifigs are sitting on, and the large mass is the central tower. When the motor starts to spin, the centripetal force starts coming into play. The chairs seemingly want to get as far away from the central mass as possible, resulting in them actually moving higher into the air. This centripetal force is stronger than gravity. You know from past experience if you've ever been on a ride like this, that as the ride speeds up, the chairs move higher and higher. When it reaches it's highest speed, you have reached your highest point of the ground in your chair. Therefore we know that the amount of centripetal force in play is effected by the speed that the object is rotating.

The Enterprise
Now here's a question for you: What keeps the chairs rotating in a circle if they want to get as far away from the central object as possible? Well, in the Psyclone, it is the axles that connect the chairs to the center.  What happens if the centripetal force is stronger than the axles that are connecting the chairs to the center? The chair goes flying off. Although it may sound funny, it is actually very frustrating to the builder. I have had plenty of frustration in that area; when I was building "The Enterprise" I depended on the connections of 1x2 LEGO bricks to keep chairs from going flying. With it spinning at full power, it was quite a challenge. Many times I tried replacing the bricks hoping to find a stronger connection, but that only worked a few times.

Tower Crane 
So now you might be wondering, what examples are there of centripetal force used in the NXT that doesn't have anything to do with amusement park rides? Well, there are plenty. They are just harder to find because they are less evident. Like the picture on the right of the Tower Crane by nxt2010nxt. When the motor turns the top structure, the load it is carrying will swing outward a little. Unlike PSYCLONE: THE RIDE and The Enterprise though, this creation doesn't rely on the centripetal force to make the project complete. However, it still would look unnatural if it didn't get pulled outward when the top turned.

Working Centrifuge
Another example of centripetal force is in a centrifuge. Snabeli in his project named "Working Centrifuge" build a very good example of a centrifuge with an NXT set. A centrifuge is a machine that rapidly spins objects around a central axis which creates high amount of centripetal force. In laboratories it spins test tubes and is it used to separate solids from liquids or separate out liquids of different densities. 

January 6, 2011

Again, and again, and again... the never ending loop for beginners

Have you ever wanted to make a car that went in circles forever? Or perhaps you want it to repeat the same pattern for eternity? Well, that is impossible. Eventually the battery will run out and you'll have to recharge or replace it. But how do you program something that would go on forever if not for the batteries dying? The impossible can be made semi possible with the loop block! The loop block enables you to repeat the same block or series of blocks over and over, either for eternity or for a certain number of times. Open your NXT programming program and take a look at the loop block. As you can see, the loop block itself looks to be never ending; the orange arrow pointing back to the beginning of the orange arrow...

How to use the loop block
When you first place the loop block in your programming project, it's already in the "forever" mode. All you have to do is drag and drop blocks into the loop, and when you download and run it, the block(s) will be repeated until the battery runs out- or you end the program. That was easy, but what are the other settings?

Sensor
This is arguably the most useful setting on the loop block. It allows you to have the block(s) inside the loop repeat until it gets a "true" message from the sensor/nxt buttons/bluetooth. This helpful for making robots that don't run into walls... for example, using it to go straight until it sees a wall 15 cms in front of it, then turn right.

Time
Do you want your NXT to run a series of blocks for 30 seconds? This block is for setting a block to end in exactly the time needed, it will even stop in the middle of the loop to end on time! To tell you the truth, I actually haven't even used this block before... I'm not sure what it would be helpful with.

Count
I've used this on the most often. It is used to make the loop block run a certain number of times. After it has run the specified number of times, it will move on to whatever blocks you have in line after the loop. I used the "count" setting in my project "The Enterprise" to slowly ramp up the speed. In the last paragraph of this post, there is a small description of how that works. If you would like more information about how acceleration works, please go here. Or you can check out "The Enterprise" on the NXTLog here. 

Logic
To put it simply, the logic loop is good for having a block(s) repeated until it gets a message through a logic wire sending the correct value.

Finally, what happens when you check the "show" box at the bottom of all the loop settings?
When you check the "show" box, it makes it so the loop will count how many times it has been completed. You can use that as input for a number data wire, and transfer as a number to another block. That's what I used in "The Enterprise"; I had the speed of the wheel equal the number of times the loop had been completed. That created a realistic acceleration look.

I hope you enjoyed this post as much as I enjoyed writing it. If you have any questions, I would love to hear them. Thanks!

January 1, 2011

Happy New Year!!

Happy New Year to all the readers of my blog!! I hope you have a great 2011 filled with designing, building, programming, testing, NXTLogging, and contest winning! I want to thank all my readers for reading my blog, and I hope you'll visit my blog every once in a while during 2011. :)

TopOfBlogs