Posts Tagged ‘Lego Robots’
In the last couple of weeks we’ve done some new LEGO Robot Challenges and I’m really pleased at how they turned out.
First was my LEGO version of the Hungry Hippo game. The students were tasked with creating a robot that drives around gathering balls and marbles. The robot that collects the most points worth of marbles and balls in 60 seconds wins the challenge. The balls are the colored balls that are included in the robot kits. The large balls are worth 5 points each, the marbles are worth 2 points. Students had to come up with a strategy and then build to that strategy. The best design drove around with a scoop on the front that shoveled the captured balls into a bin on top. Many designs had rotating claws in front to direct the balls into a pen.
About a week into the challenge, students were tasked with doing a design review with another group. They had to critique the other groups’ project and suggest ways to improve the design, then have the same done for their project. All of the groups felt they got something out of the design review process.
The arena was our own Octagon I created out of 1×4’s. Each side of the octagon was 24″ and the sides were held together with masking tape. It was sturdy enough that the robots could bump into the walls and trigger a touch sensor. The plan was to have the robots go head to head in the arena, but they all locked up so badly that each robot did individual one minute runs.
The latest challenge was a rope climb. I first showed the kids a couple short videos on the space elevator and we had a short discussion on the cost benefits of such a system. They were given a short week (4 days) to design a robot that could climb up a rope. I hadn’t tried this before so I didn’t know what to expect. I had a few robots climbing the rope within 30 minutes, so I had to up the ante. Basically, they got a C if the robot climbed the rope. If the climber carried a 0.5 kg weight up the rope, the group got a B. If the robot managed to carry a full kilogram weight up the length of the rope, the students earned the A. Only one group managed the A using an innovative design of tires and belts.
I’m going to challenge them to go back to the drawing board on this one and see who can carry the most weight up the rope. After that, we are going to do Robot Wars in the Octagon. The goal is to disable your opponent or remove them from the ring. It should be fun.
I wanted to build this robot, but we just didn’t get that far. I’ll save it for my summer program at the community college. After midterm exams, we came back to the robots for a final two weeks of programming.
First up was the touch sensor. I liked this lesson, it added switch blocks (if-then) into the programming. We used it with the “follow the line” activity, but the training software told the kids what to do. This time they had to do it on their own. By now, the CMU software has become only a guideline and a reference for the kids. Their assignment was to teach the robot to move forward until it bumped into something. When that happened, the robot was supposed to stop, say “sorry,” back up a little, turn, and start over. This is actually an easy program, so while they were figuring this out, I build a maze out of textbooks.
Part two of this got tricky. I stopped class and explained how you can find your way out of any maze by simply hugging either the right or left wall. They had to try to get through the maze using the single touch sensor in the front. Only one of my students got this to work, and I actually gave him the method. I won’t give it away. Most of the kids got frustrated because the robot would enter the maze and just bump around aimlessly. I asked them to brainstorm a method of using two or more sensors to get through the maze.
The general solution was to add the ultrasonic sensor. Rather than add the sensor to the front, we added it to either the right or left side. The idea was to have the robot stay a certain distance from the right wall. But if it hit something while following the right wall, it would need to make a left turn and continue. This took a lot of trial-and-error for them. It required two switch blocks, one first for the ultrasonic sensor, then one for the touch sensor, both of them together in a loop.
I made this more interesting by changing and growing the maze each day and requiring that the robot must enter the maze from point A and exit at point B, then do it in reverse. This eliminated the possibility of somebody getting clever and just teaching the path to their robot. I made it a point challenge, 50 out of 50 for the fastest combined time, 45/50 for completing the maze in both directions, 40/50 for completing it in one direction, and 35/50 for trying until they ran out of time. Slackers got less, mostly 25/50.
The other final 50 point project was an ad campaign for a robot they had to design and market. The kids had to come up with a feature set and figure out who they would sell it to. They had 3 to 5 minutes to present their idea and tell us why their robot would solve our problems. After the presentation, we discussed what in their design existed today, how some of the technology was 20 years old, how some of it is so hard to do. I ended this with Michio Kaku’s new show How to Build a Robot. Final Project
So what did I learn?
- The CMU lesson software is a good starting point for a lesson, but I needed to add a timed point challenge at the end of each training sesson. I will use the CMU lessons in the future, but not rely on them alone.
- It’s really hard to put this stuff on a midterm exam. Best to not try and give them graded programming challenges every day or two.
- Keeping the kids out of the parts bins is a good idea as long as several classes are sharing the robots. Next year when I have a dedicated class, it won’t be an issue. But not letting them modify the robot beyond the guidelines of the lesson was the way to go.
- Number all the big parts to match the brick and bin.
- I started to have the kids delete their programs from the computer and the robot so others wouldn’t cheat. I don’t have a better way around that right now. I’d like to use USB drives, but we’ve had virus issues, so that’s not allowed. Ideally, LEGO will add password protection.
- Invest in some NXT books. I found a bunch on eBay and half.com and went crazy. If you are only purchasing one of them, buy the book “The Lego Mindstorms NXT Idea Book” by Boogaarts, Daudelin, Davis, Kelly, Levy, Morris, … . This is the book I wish I had before I started the course. It tells you how to do all those things you figure out a little too late, like making your own subroutines (it’s so easy) and how each of the sensors work (if you use more than one ultrasonic sensor at a time, they interfere with each other). Also, books by James Kelly have some good challenges based around a storyline. I think this would be a great way to introduce these robots to a middle school class. I have the Mayan Adventure, his newer one is called The King’s Treasure; I’ll be picking that one up as well.
- I will add the “My Blocks” early on. Next time, after the kids complete the first task of programming the robot to travel in rectangle, I’ll show them how they can make a single “My Block” for a 90 degree right turn and just use it rather than cutting and pasting 5 blocks for each turn. Hopefully, they’ll build their own library of additional blocks as the class progresses.
- Download videos of LEGO projects from YouTube. There are a whole bunch of different walking robots, Rubik’s Cube solvers, and an amazing Sudoku solver that you absolutely must see. I plan to show the walking robots to the summer kids and let them go on their own to design and build their own walking creation. The videos showed the kids the power of the “toys” they were playing with. I will show these and other short robot videos, perhaps one at the start of each class, in an effort to motivate them into doing more.
I was worried I wouldn’t have enough material for the kids to do this for 6 hours a day for a week. I’m pretty sure the projects and videos will make the summer session fly by. It should be fun to let them experiment and build on their own.