'In order for students to transfer and apply the information and skills they learn in school, they must be able to use that knowledge in a way that is meaningful to them. By designing, building, programming, and documenting robots, students use science, engineering, technology, math, and language arts skills in a collaborative hands-on project that reinforces their learning.'
Here are some notes on items of hardware and software that could be used in a school robotics course (I finally persuaded my school to buy several Lego EV3 robots and began teaching robotics in December 2013).
The key to getting pedagogical value from a robot must be the ease and sophistication (yes, rather contradictory!) with which the robot can be programmed. The most well-known and most powerful robot programming languages and operating systems seem to be:
- RobotC which is based on the C language and which is compatible with a number of robots including Lego MINDSTORMS NXT, TETRIX, VEX, Arduino Uno/Mega. See HERE. RobotC is not free. RobotC can be used to control simulated robots in the context of Robot Virtual Worlds which is also not free.
- Robot Operating System (ROS). See HERE.
- Microsoft Robotics Developer Studio (MRDS) is very powerful generic software for controlling robots and several commercial educational robots are compatible with this software. The latest version is available free and has extensive support for the Microsoft Kinect camera (a kind of 3D camera) and also features the possibility of developing and testing robot control software in a virtual environment (a virtual robot in a virtual world) before using the software on a real robot in the real world. See HERE for more. Microsoft Robotics Developer Studio (MRDS) and Robotics Operating System (ROS) are rather different but are both Service Oriented Architectures(SOA). This means they are designed to work with the many different types of peripheral devices that robots can connect to, making them both rather hard to learn.
- Lego has its own operating system and programming language for its EV3 robot, sometimes called EV3-G.
- Python is not specifically designed for use with robots but is nevertheless popular for that use because it is a relatively easy-to-learn but very powerful textual programming language. I have a special page about Python-controlled robotics HERE.
I present some hardware options roughly in order of increasing price and sophistication. Click HERE or follow the link at the bottom of this page for a page listing a selection of online shops offering a wide range of robotic and electronics items with convenient delivery within the EU.
Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments. Arduino can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators. The microcontroller on the board is programmed using the Arduino programming language and the Arduino development environment. Arduino projects can be stand-alone or they can communicate with software running on a computer. Cost: about 25 EUR on this Belgian site. See here for more. If you're thinking the Arduino looks a lot like the Raspberry Pi (see below) then I guess you are right. The difference would be that the Arduino only has a microcontroller whereas the Raspberry Pi has a microprocessor. That means the Raspberry Pi is a real computer, a lot more powerful than the Arduino and programmable directly without the need to connect it up to an external computer. On the down side, the Pi uses much more power than the Arduino so for battery-powered robotics applications the Arduino may be the better buy for some projects.
Sparkfun Inventor's Kit
The Sparkfun Inventor's Kit is built around the Arduino (see above).
The photo shows one of the experiments set up, with the Arduino board on the right and the breadboard on the left (the breadboard allows you to assemble circuits by plugging things into the board rather than by soldering).
The board has digital and analogue inputs and outputs so it can interface with various sensors and actuators (motors). In other words, it is a great way of controlling robots. The Inventor's Kit includes an Arduino Uno, a breadboard and all the component necessary for you to learn about: programming in C, resistors, servos, motors, LEDs, multicolor LEDs, thermistors, light-dependent resistors, relays, integrated circuits, piezo speakers, flex sensors, potentiometers, diodes, transistors etc. At about 75 EUR plus postage, the kit is excellent value. Working though the 14 experiments might take 10-20 hours depending on how many of the extension exercises you attempt (you should do them all). You can order the Inventor's Kit here: www.sparkfun.com/products/10173 or from Amazon.co.uk.
Still hesitating? Check out
When you've done all the experiments you can get more components and continue learning about electronics and robotics - I bought myself a 'BOE Bot' next - see below. Actually my recommendation would be that you buy the BOE Bot kit without buying the Inventors' Kit first since the BOE Bot kit is so good you can learn many of the same things AND make a robot for only a few Euros more. However if you are more interested in programming robots than understanding the digital electronics that makes them tick then I recommend the new Lego EV3 robot - see below.
Many circuit boards are available that can be plugged into the Arduino - these boards are called 'shields'. Check this link for more ideas
Parallax BOE-Bot Robotics Kit for Arduino
The Parallax BOE-Bot Robotics Kit for Arduino can make your Arduino (see above) the onboard brain of a mobile robot. Learn robotics, electronics, and programming with this versatile kit and its accompanying step-by-step lessons. The Board of Education (BOE) Shield plugs into your own Arduino (included or not included according to which kit you buy) and mounts on the popular BOE-Bot robot chassis. (A 'shield' is any circuit board that plugs into the Arduino.) Read more about it HERE.
With this kit and your own Arduino module, you can follow the 'Robotics with the Board of Education Shield for Arduino' lessons with over 40 hands-on activities.
• Calibrating the robot's continuous rotation servo motors
• Using lights and speakers for status indicators
• Preprogrammed navigation
• Using touch-switches to navigate by contact with objects
• Using phototransistors to navigate by light
• Using non-contact infrared sensors to measure distance and avoid or follow objects
Approximate cost without Arduino or postage: 110 Euros
You should be aware that the BOE Bot chassis is compatible with three different types of microcontroller brain: the Arduino, the Basic Stamp and the Propeller. The Arduino is the one I am recommending but for the moment there are actually more supporting materials for the Basic Stamp (because it's been around for 20 years) and for the Propeller (because that is a more powerful microcontroller designed by the same company, Parallax, that makes the BOE Bot chassis).
Raspberry Pi is a Linux-based computer at the amazing price of about 30 Euros. It has a number of General Purpose Input/Output (GPIO) pins that could be used to control a robot. It's so popular, it certainly deserves its own special page. One way to use the Raspberry Pi to make robots is to connect it to Lego EV3 robot parts and a plugin board or 'shield' can make that easier. Well-known shields for this include the BrickPi and the PiStorms.
The Vex IQ is comparable to the famous Lego Mindstorms EV3 robot (see next
paragraph). The Vex IQ is cheaper, is capable of accepting more connections to sensors and motors (12, as opposed to 8 on the EV3) but has the huge disadvantage that it is much less popular and therefore there is much less available in the way of support materials and third party hardware. For comparisons of these two robot kits, see HERE, HERE and HERE (hihi).
Lego Mindstorms EV3
The Lego Mindstorms EV3 robot is a popular choice as an educational robot due to its robustness, its modular nature and its affordable price (about 350 Euros). See the navigation sidebar at the left for several pages about the EV3. Lego Mindstorms usually uses a graphical programming environment (you make a program by connecting programming blocks) and this is relatively foolproof but somewhat limiting. But at least a dozen other programming languages can be used including EV3 Python, EV3 Basic, the powerful text-based language pbLua and the text-based language RobotC which is based on C.
The EV3 robot has a central brick running Linux and much more memory than the previous (NXT) version. The EV3 brick is backwards compatible with the sensors and actuators (motors) of the previous (NXT) generation. It is possible to control the EV3 robot using an IPhone or Android phone. It is possible to program the brick directly without the need for an external computer. It is possible to connect up to 8 bricks together. With the basic kit are instructions for building 5 different robots and of course only your imagination will limit the number of original designs that you can create. The price is about $350 in the US or about 350 EUR in Europe. See HERE, HERE, HERE and HERE.
Thymio is an open source robot with 20 sensors, 40 lights, 2 motors, and LEGO integration. It can be programmed in several ways: it has a blocky visual programming system, a Blockly interface that resembles Scratch, a textual programming option (but what language?) or the possibility of connecting to it from Scratch. It costs around 100 Euros or 100 USD. See HERE, HERE or HERE. It has been chosen as the basis for the Inirobot robotics teaching initiative in France.
Born at Harvard University, the Root robot has excellent credentials.
Root can draw, erase, play music, and explore its world using over 50 sensors and actuators — making coding relevant to many age groups and experience levels. Root allows you to instantly set up, create, and share coding activities in an unusually interactive way.
Root uses the magnetism of a whiteboard to defy gravity and drive on walls to make activities more social. It’s easy and natural to interact with Root just by drawing and erasing and Root can change its environment right back. And since whiteboard surfaces are the same everywhere, kids can share their programs with each other from around the world. If whiteboards are too large or expensive, Root simply works with paper too. For programming, you can switch between three levels of proficiency: graphical blocks, computational constructs, and text programming, aiding the transitions as mastery increases. See HERE.
Smartbot Mk 2
Smartphones have so many smarts (processor, memory, cameras, GPS, accelerometers, compass, etc) so why not attach a smartphone to a robot base to make a robot that is both powerful and affordable? Smartbot Mk 2 will cost 180 EUR without the phone (Android/Windows/iOS). See also HERE.
The Robobuilder 5710 is an example of a humanoid (human-like) robot with as many as 16 motors, an IR remote, a sound sensor, a distance sensor and an acceleration sensor. Many possible configurations. Compatible with Microsoft Robotics Developer Studio but ultimately limited by the small number of sensors. See this page and this Youtube video . About 500 EUR.
The TurtleBot works with the Microsoft Kinect depth camera and it sits on top of a chassis (iRobot Create) that is also used by popular robot vacuum cleaners. This helps to keep the price affordable. TurtleBot can explore your house on its own, build 3D pictures, bring you food, take panoramas, and more. TurtleBot comes with an open-source software development kit (SDK) based on ROS (see above) to help you develop applications right out of the box.
The TurtleBot SDK integrates all the software you need to get TurtleBot running and comes with advanced capabilities like mapping and navigation. TurtleBot comes with low-cost hardware components to give you a capable, autonomous platform for developing robot applications. The iRobot Create, Kinect, netbook, and gyro are all integrated together to get the most out of each. See here or here. Price: about 1500 USD pre-assembled. I think the Eddie computer below is a better buy.
Eddie is a new type of robot designed to foster creativity, innovation and experimentation. Compatible with Microsoft’s Robotics Developer Studio, Eddie can roam autonomously, see in 3D using the power of the Microsoft Kinect, and be driven remotely using a wireless controller. It has 3 IR sensors and two ultrasound sensors as well as the Kinect connectivity. Cost: about 1300 USD without the Kinect (about 300 Euros) or the laptop computer (compatible with Raspberry Pi?). Click HERE for more and HERE for a YouTube video.
No, this last robot is not for us, but it's worth including because it represents an interesting new class of robot that has just come into existence. It's an industrial robot called Baxter that is far cheaper than previous industrial robots (less than 20 thousand Euros, whereas other industrial robots typically cost 100 thousand Euros to buy and ten times that during their lifetime to program, train and maintain). It's smarter than other industrial robots and it's designed to operate side-by-side with humans, whereas other industrial robots are so oblivious to their surroundings that they have to be kept in cages since it would be very dangerous for them to operate close to humans. Also, Baxter robots are smart enough that anyone can easily train them just by example, whereas other industrial robots need specialised technicians to program them. See this WIRED article and this TED talk. By the way, if Moore's law (which says computing power per dollar doubles every 18 months) were to apply to Baxter, then in ten years his cost would fall from 20 thousand Euros to just 200 Euros...