Posts Tagged ‘Robotics’
My two robotics classes have been working on an obstacle course. I made it challenging, but it seems to be too challenging – not because the kids aren’t trying but because the robots do something a little different every time. I’m confused. I called LEGO Education support and they told me the motors are accurate to one degree per rotation.
I’m seeing errors much more than ten times that number. I can’t seem to find a way to solve the problem. We are using yellow RESET block, light green MOVE blocks, and orange rotational WAIT blocks. We have a spot carefully marked on the floor for the start and way points. Starting at the same spot may have the robot as much as an inch off within about 10 rotations. The total motor error should be about 0.17 inches. I can’t determine if it’s a problem in NXT-G or the motors.
I’ve searched the NXT books, blogs, web sites, and books, and I can’t find any references to the inaccuracy issues. Has anyone else seen these problems? How do I fix this?
Last year, the course was actually called Robotics and Astronomy, or Robostronomy for short. The intent was half-year of each. The result was more like three weeks of astronomy and robotics all year-long. Don’t get me wrong, I love astronomy. It’s just, well, Robots took over the Earth. Between the great things we could do with the MindStorm, and then the SeaPerch competition, we were all robots, all the time. This year we are adding the First Tech Challenge. Yep, Robots have taken over the Earth, and it looks like they landed in my classroom.
The goal here is STEM, that’s what opened the door for the robot invasion in the first place. Clearly missing from our program these days is what we called in the old days, ‘drafting.’ Drafting isn’t done on a board with a T-square anymore, but you all know that. Today, 3D mechanical Computer Aided Design (CAD) is available for free from Google (Sketch-up), and from a number of companies who cater to the high-end. I actually know this industry well, I spent 25 years in the CAD/CAM/CAE industry (M for manufacturing, E for Engineering, meaning simulation).
So with some guidance from some friends at Drexel University, and a little research on my own, I decide to go with SolidWorks software. All of the vendors have aggressively priced programs for the educational market, I think we are paying just $1000 for a 10-seat license. What makes this software connect to the students is what we spit out of it. The school invested in a 3D printer, specifically uPrint Plus from Dimension.
If you have never seen one of these, think Star Trek Replicator. The replicator creates parts from ABS+ plastic directly from the output of the 3D CAD. How better to teach engineering principles than to give the students a design challenge, have them work through designs and then fabricate it in the printer. Here is a great video from a customer talking about how they use a 3D printer in their engineering design work.
My new printer is due here any day and I’m pumped up. Yep, geek boy has a new toy. Tea, Earl Grey, Hot!
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.
I haven’t found very much so far. Some stuff at Carnegie Mellon and constant links to Lego products, but not much else. I’m looking to make this an elective the following year and I need to start figuring out how I’m going to make this happen.
Some of you must either teach this course or have someone in your school who teaches this course.
I need some help please.