Harvard researchers build $10 robot to teach kids to code
wired.com
wired.com
I spend a pretty good amount of time teaching kids how to code, and one of THE BIGGEST things is giving them something that seems like more than just an exercise. Robots are totally perfect for this.
I help with a program in Phoenix called Mach1 labs (a hackerspace inside of a library), and there we have a bunch of these: http://www.seeedstudio.com/depot/Backorder-Shield-Bot-p-1380...
So far, this has been far and away the best thing I have found for getting kids interested in programming.
I usually start them with this sketch: https://github.com/blhack/shieldbot/blob/master/shieldbot_st...
With super simple commands like "go forwards" and "go backwards", they can get the bot to do what they want really quickly. It is definitely the "ah ha!" moment of programming.
I've taught kids as young as 5 enough that they could make that thing drive to their brother, turn around, and come back to them.
Hands down some of my favorite moments working with kids have been watching them debug their way through writing a sketch to make the robot solve a maze.
The big problem with this bot, though, is that it's $70 + and arduino ($20ish). For a lot of parents, a $90 investment into something is a bit scary, especially for lower income kids, which really hurts :( (If I could I'd give every single kid I met a shieldbot and an arduino, and it sucks knowing that only the rich kids are getting them).
This thing being $10, not apparently requiring an additional board, or cables, or anything is just...freaking awesome. If this thing becomes widely available, it would call it a game changer for at least the things that I'm doing. If I can buy 9 of these for what was previously the cost of 1 sheildbot, that is a HUGE win (especially for lower income kids).
Totally totally awesome!
>Rubenstein says that for the bot’s next iteration, the group is focusing on improving the curriculum and the software, eliminating steps in the installation process and ensuring AERobot is so simple that kids can learn how to use the thing on their own—without a teacher.
AH! No, screw that! Figure out how to mass-manufacture these things. Let the huge community of software hackers who are looking for stuff like this figure out how to develop pretty IDEs around it!
So what is involved with making a large number of these things? They have the design available. Is it just a matter of giving a board manufacturing company the design and a truckload of money and they will send you 1,000-1,000,000 boards(depending on size of truck)?
The circuit is pretty simple, to keep the parts count low and, consequently, the price. An Atmega168 is the brain of this project.
Both bots work with Arduino and the Minibloq visual programming environment: http://blog.minibloq.org/
"There are four main designs features that help keep the AERobot low-cost.
1) The robot electronics are designed to use only SMD components which can all be placed using a pick-and-place machine, drastically reducing assembly costs. Additionally, all components are mounted on a single side of the PCB, cutting assembly cost in half when compared to a PCB with components on both sides. All remaining assembly steps are very simple and can be done by the student in a few minutes. The PCB also doubles as the main robot chassis, further reducing robot cost and complexity.
2) The use of vibration motors greatly reduces the overall robot cost as vibration motors are cheaper than standard motors, and don’t use the extra hardware found in most robots such as gearboxes and wheels.
3) Using a USB interface built directly into the PCB removes the additional costs, incurred by most robots, of an external programmer and charger, which can easily double the cost of a complete robot system for robots at this price range.
4) AERobot uses purely optical sensors (the infrared transmitters and photodiodes) which have no moving parts, are generally lower cost than most other sensors, and are robust to dusty environments."
Not just that either, in many public schools enginnering/Cs classes are "Blow off" classes, not due to the teachers, but the students in them.
This probably isn't true everwhere, but that seems to be pretty common.
Another option I'm considering is arduino so we can disconnect the LEGO usb hub from the computer and get a more autonomous experience. The hard part about that is that I don't know of any visual languages I could use with Arduino. If anyone has some ideas that might support this, I'd appreciate sharing.
I'm going to look into the project page link that hausen shared, really glad to see this!
EDIT: Does anyone know how practical it would be for someone like me to do this? I have 0 electronics experience, but they provide the plans for the board, is it easy to get the board built? Sorry for total newb question here, but I'm genuinely interested in doing something like this.
Look for the 'sparkfun redbot'
I've found that the students respond most enthusiastically to any kind of programming that involves making something happen outside of the computer they are working at. That could be anything from writing code to send text messages to building robots and writing code to control them.
Thus far I've kicked in some of my own money to buy some Arduinos/Beagle Bones and various motors, servos, etc. Those things don't end up costing that much, but there is quite a lot of work to be done before the students can see any results, so only the more advanced students maintain interest. I think having an inexpensive platform like this that is ready to program for is a huge win.
The one thing I'm not thrilled about is it seems like this robot is programmed via a drag and drop graphical environment. I find that the students are perfectly capable of understanding simple code instructions and obscuring the programming with graphical elements just complicates their understanding of what's really happening. From another article about this robot it seems to indicate that code is being generated in the background, so hopefully that is easily editable, or the graphical environment can be ignored completely.
"The Kilobots move by controlling two vibrating motors, the same type as you have in your mobile phone and the movement is based on similar micro vibrations. The same principle is used when you leave your phone on a table and the vibrator goes off. The Kilobots actually jump forward, but the jumps are vertically so small that you don't see them leave the table surface. They actually fly for a little while. The robots accurately controlled motion to ensure that the locomotion stays energy efficient, conserving the battery for an extended operating time." http://m.electronicdesign.com/boards/kilobot-swarms
And:
"Kilobot uses two sealed coin shaped vibration motors for locomotion. When one of these motors is activated, the centripetal forces generated by the vibrating motor are converted to a forward force on the Kilobot located at the motor’s mounting location. The principle of converting the motor vibration to a forward force can be explained using the slip-stick principle… The slip-stick locomotion of a Kilobot was confirmed using high-speed video of the robot’s movement. Due to the off-center mounting of the two vibration motors, as shown in Fig. 1, the vibration of one motor alone will cause a rotation of the Kilobot about its vertical axis, while the vibration of the other motor will cause an opposite rotation. By controlling the magnitude of vibration for the two motors independently in a differential drive manner, the robot can move in a continuous range from clockwise rotation, to straight forward, to counterclockwise rotation. This enables the Kilobot to move approximately 1 cm/sec and rotate approximately 45 degrees/sec." http://dash.harvard.edu/bitstream/handle/1/9367001/Rubenstei...
There's also "Analysis and Experiments on the Force Capabilities of Centripetal-Force-Actuated Microrobotic Platforms" article: https://web.archive.org/web/20121021190224/http://nereus.mec...
I think using visual programming languages for teaching concepts is a good idea. They're great for establishing the logical constructs of computer science, but they are lacking in talking about data structures and state storage in general. I think a more advanced visual teaching language should place a lot more emphasis on teaching how data structures work, which is arguably more important to learn about computer science in the long run. But perhaps that's a bit advanced for such a simple application.
Again, nice work!
It's a public school. In the big scheme of things, a couple of mindstorms kits are not that expensive, the trick is finding teachers who are willing to go the extra mile and run these types of program's.
Still, I think this is a great idea.
one thing is that if this requires FCC certificate etc, which may also take a while.
NonCommercial — You may not use the material for commercial purposes.
That says no third-party can make it unless it can do it without making any profit, so this should be made by some non-profit organization I assume.