In around 2007, I put together a simple robot design that I could use with my classroom teaching. It was quick to build, required very few parts which enabled us to get on to the programming more quickly. Now I'm a firm believer in giving kids the time to 'play' and explore mechanisms and structural consruction, but unfortunately in the sessions I run, time is not something we have much spare.
If you give a kid a box of LEGO and tell them to build a robot, you could come back in 3 weeks and they would still be tinkering with just the build.
I put the plans up online for anyone to use, and then I started getting some emails from far-flung places around the world. Teachers had been using my design and saying thanks for making it available. It's those kinds of emails that make your day.
So over these last few weeks, I need a project to keep me from doing 'real' work and decided to put together a map of where the DomaBot is being used. Google Maps has made it increadibly easy to both pin a location and embed the whole map on my site. I'm hoping people will also send me photos of their DomaBots in actions, to attach to their pinned location.
Within 2 weeks of putting the call out, I had received 24 organisations (schools, universities, even NASA!) spread across 7 countries. I love what I do!
Have you used my design? Please let me know about it.
View DomaBots around the world in a larger map
Back in 2009 I collated a bunch of different ideas from teachers and educators on the LEGOengineering mailing list on how they store their LEGO in class. It was originally turned into a pdf but wasn't easy to find, so I thought I'd reproduce it here and link it in a few more places.
Do you use any of these methods? Something completely different?
When asked "How do you store your LEGO?" there is no single correct way that suits every classroom. What follows below is a collection of different ideas that were gathered together from teachers from all over the world via the LEGO engineering mailing list. This mailing list has over 200 participants, exchanging ideas about how robotics is taught in schools. Please join us and help grow the community of robotics educators.
Karen Rouse Technology Coordinator Pacific Pines Primary
Here at Pac Pines we currently have 12 RCX & 4 NXT robotics kits. Students in Years 4 to 7 participate in robotics programming activities at before and after school clubs. Because our club activities are mainly programming based challenges at the moment the students generally just use pre-built robots.
The robots have all been given a name and the students have laminated and attached name cards to each robot like a number plate (see Bizzy & Bella Close Up - pic attached). The robots have a set parking spot (also named) on a shelf in our Tech Lab where they always go back to when they are not being used (Robot Parking pic attached). Because our Tech Lab is in our library and the robotics storage area is in a corridor between the two it is a high traffic area where many little fingers might like to play with the robots so to avoid that as much as possible we add covers to the front of the Robot Parking area when robotics is not on (see Robot Parking Covers pic attached).
It's taken a little while, but I now have all my LEGO Robotics teacher resource books available from Amazon. In the process, I've been able to convert them all to full colour, something many teachers have been asking for over the years. Unfortunately, it means we've lost the spiral binding :(
I know many teachers loved the spiral binding as it made it easy to photocopy the student worksheets out of the Classroom Activities for the Busy Teacher: NXT book. Now that that is not as easy, I have gone and uplaoded all the student worksheets as a pdf for you to download and print out. Even if you haven't bought my book, you can still download the worksheets and use in class (The worksheets make more sense with the book, so I do highly encourage you to buy that as well :D )
Click the "Books" link to see them all.
Any questions, please don't hesitate to contact me!
I've been very lucky to have been sent one of Dexter Industries new Thermal Infrared Temperature Sensor.
Whilst Xander over at BotBench has done a more indepth review (here), he was using RobotC and a fairly involved physical construction. I was more interested to see how quickly I could get something up and running in a more basic situcation, typical of what a classroom teacher might experience.
So I took a DomaBot robot, added a few extra pieces to change the Ultrasonic Sensor to point to the side and added the TIR sensor directly below it.
A simple program that drives the robot forward for 30 seconds whilst datalogging both the TIR and Ultrasonic sensor was loaded on.
I then constructed an incredibly complex and involved experimental setup. (ok it was an empty softdrink can, a cold softdrink can, a metal water bottle that had been left out in the sun and a portable freezer pack :D )
And here are the results. Yellow line is the Ultrasonic sensor and the green line is the temperature. You can see on the yellow line, 3 distinct 'dips' as the robot passes the first three objects. The freezer pack was all scrunched up and probably doesn't really give a good surface for the US sensor to detect. Lining up with each of these is a distinct change in temperature (apart from the empty can which expectedly shown no change).
I was really happy with how easy it was to get this up and running. Once the NXT-G blocks were imported, the TIR sensor showed up on the Datalogging selection screen without issue. I orginally tried to log at 25 samples per second but later found out that is was capable of a max of 5 samples per second. Whilst it would have been nice for faster sampling, it was easily compensated by slowing down the robot's speed.
So.... What should I try next?
A conversation we're having at the moment on the Teacher Mailing List is around the creation of a Timer.
Ian Chow-Miller has been running an activity with NXT dragsters with a focus on gear ratios and mechanical design rather than programming. He initial solution of using the stopwatch on his phone has human error associated with it (as would any human activated stopwatch) and so the search was on for a robotic solution!
His initial setup involved an NXT with a Sound Sensor and an Ultrasonic Sensor. Dragsters are started with the whole group shouting "GO!" which the timer sound sensor picks up, starts an internal timer which stops once a robot crosses the ultrasonic sensor.
Gary Cordell suggested using the Light Sensor for more accuracy over the Ultrasonic Sensor
I rigged the light sensor, put it in Ambient Light mode and pointed a flashlight at it. I was able to get a reading of 50 open and less than 10 with the beam broken (with the Ambient Light Shield (grin) in place) at a distance of about two feet.
photo by Gary Cordell
Elwood Fischer suggested offloading the timing to the robot itself-
I'm wondering if you can dodge some of the sensor difficulty by loading your timer program on the Drag Racer itself, with ultrasonic sensor mounted on front? Point it towards a wall (or other flat surface) so it records time between start and when the 'bot is, say, 1 meter from the wall (then full brakes!)? It's easy for the ultrasonic sensor to see a wall! This also reduces chance that start and end 'bots get triggered at different times (by an over-eager student near one of the 'bots).
My contribution :D
I think the Ultrasonic Sensor might be a little in consistent, but what about the light sensor. You could have it mounted face down and have a finish line (either white on black surface or black line on white surface). I threw together this little program that will display the time on the screen.
- Wait for loud sound to start the robot
- Once you hear the loud sound, reset the timer
- Get the robot driving unlimited
- Wait for a increase in light readings (or decrease depending on your situation)
- Take the timer value
- Convert to 'text' (the display block can't handle 'numbers'
- Show the result on the NXT Display
- Stop the robot (don't forget this!)
- Wait 5 seconds to give you a chance to read the result.
If the programming is too much for the kids and the focus is on the gearing, there is nothing stopping you loading this onto everyone's robot yourself.
Thoughts? How would you do it?
This last Monday was spent all day working with Math teachers, showing them how to use robotics in the classroom, specifically aimed at math activities (as opposed to 'robot' activities). We looked at a range of activities, but I feel the one that semed to excite them the most was a simple '1 action' program.
- Take your day of the month you were born, add 15 to it and multiply by 2. This gives you your unique 'power setting'. This works well in a classroom as it ensure that all groups end up with different results, making it difficult for one group to steal another groups data
- Program the robot to move forward for 1 second (at your unique power level) and record how far it goes
- Program it to go forward for 2 seconds and record how far it travels
- Continue varying the time travelled and record the distance travelled
- Plot the time taken against the distance moved
We ended up with something similar to this
From this you can see that the relationship between the distance and time taken is roughly proportional. Then with our trust helper Penelope the Polar bear, we set a distance (54cms in this case) and the teachers had to either extrapolate (look beyond their data) or interpolate (look between their data) to decide how many seconds their robot needed to go to get to Penelope but not run her over. As each group had their own unique number, the time needed for each robot was different.
We tossed around a few concepts that this type of activity could delve into and came up with this.
- Speed and velocity
- Gathering data
- Graphing data
- Interpolation / Extrapolation
- Averaging samples (ie. should take more than one reading for each time period)
- Experimental error
Can you think of any more? Please let me know in the comments below.
One of my (and the students) favourite activity is the Robot wave. Basically it consists of all robots driving forwards, backwards, forwards, but when done in time looks like a the human waves you see at sporting matches.
To build on it I get the kids to add a little more 'choreography'. This video is a little old, but dug it up after seeing how Ian Chow-Miller had adapted and improved it for his kids.
Ian's latest version
The enthusiasm and excitment from Ian's students is fantastic to hear :)
I'm always on the look out for royalty free music to put in the background of stop-motion movies and youtube clips and came across Aviary. It's a fantastic browser based sequencer with lots of different sound effects. Spent 10 minutes and came up with this :)
Not much to talk about this week. I ran my usual SCRATCH workshops for teachers as well as the Beginner and Intermediate Robotics workshop for teachers. I was surprised however to have some teachers that are still using RCX's and RoboLab and are only just now thinking of swapping across to NXT's. The more I play with SCRATCH, the more I'm liking it. When I have some spare time (probably 2015 at this rate!) I'm going to do up a few how-to tutorials for creating your own games with SCRATCH.