Okay, it’s now officially the Twenty-First Century: They’re teaching robotics in school.
I, for one, welcome our robot overlords, especially if they’re like the ones coming out of a small Arizona high school. Last week, I had a nice talk with Enrique Santa Cruz, the Robotics & Automation instructor at Walden Grove High School in Sahuarita, Arizona. (I’ll save you the trouble: it’s a town of 25,000 souls about 15 miles due south of Tucson. You’re welcome.)
Walden High has a robot-building competition every year, and the competition is tough. Teams of students have to design, build, and program their own robot to perform a given range of tasks. Winning teams can move on to a larger statewide competition and, eventually, even international events among teenage robot builders.
The robots aren’t built entirely from scratch. Each team starts with a kit from VEX Robotics, a Texas-based company that makes robot-construction kits for teams just like the ones in Sahuarita. But the kits are just a starting point; the kids are allowed (required, actually) to design and fabricate their own additions to the base robot platform.
If you haven’t seen the VEX robot kits, they’re like a cross between Lego blocks and Erector sets. They’re very modular and expandable. A basic setup will get you wheels, motors, an MCU-based controller, and a metal chassis onto which you can attach your own armatures, end effectors, bells, and whistles.
Mr. Santa Cruz (who assiduously uses the word “students” in place of “children” or the more familiar “kids”) assigns each team a budget for additions and alterations, and he also sets limits on what enhancements are allowed. Permitted materials change from year to year, but they generally include steel and polycarbonate. Expensive carbon fiber and certain metals (think flammable magnesium) are off-limits. Teams are allowed to buy additional off-the-shelf modules from VEX if they want, but designing and fabricating their own add-ons is more effective – and more fun. All additions have to be submitted to the instructor as SolidWorks CAD drawings.
In addition to the “machine shop skills” gleaned from building robot extremities and prostheses, the team members also learn programming. Each robot controller is based on the ubiquitous Microchip PIC family of MCUs, so teams must also learn some real-time PIC programming. Depending on their grade level, they might be programming with MPLAB, Easy-C, or Robot-C, all cross-compiled for the Microchip MCU.
The start of each round of competition includes an autonomous period, during which the robots must conduct themselves with no manual control or outside intervention. After that, teams can operate their robot with a tethered joystick-like controller.
The robots’ competitive goals change each year, but they generally include such things as collecting objects from the arena or lifting, moving, or locating objects. There are almost no rules limiting how the robots can go about this; apart from the aforementioned limits on budget and safety, each team is allowed to go nuts. One team tethered two robots together and had them work cooperatively.
Robots are not allowed to interfere with or molest their competitors; this isn’t Battle Bots. The idea is to stimulate creative problem-solving in parallel with the necessary programming and mechanical-engineering skills. And in that, Mr. Santa Cruz says it works very well.
“Most students today are accustomed to packaged solutions and procedures. They’re used to being spoon-fed. We want them to think outside of the box; to design something new on their own.” It must be working: a previous year’s team went on to the statewide, then national, then planetary competition.
Teaching more students to program MCUs can’t be a bad thing, and it could always come in handy when the competition widens and remote worlds start sending invading robot armies. We’ll be prepared.
Windows on ARM Becomes Windows RT
What do you know? Microsoft did the right thing.
I’m talking about the new name for Windows 8 running on ARM processors. For a long time, embedded developers have known that Microsoft’s upcoming operating system would be available on two different processor architectures: x86 and ARM. Many had predicted, erroneously, that this would lead to the eventual demise of x86-based PCs. Why build a PC with an expensive and power-hungry Intel (or AMD) chip when you can build one with a light, airy, and efficient ARM chip?
Because the ARM version doesn’t have any software, that’s why.
What many observers failed to realize is that just because Windows 8 would run on ARM processors, that didn’t mean other Windows programs would run on ARM, too. Photoshop, Flash, Thunderbird, and Angry Birds weren’t magically going to transform themselves into ARM binaries. In fact, apart from Windows itself and a new version of Office (without PowerPoint, by the way), the software base for Windows on ARM was precisely zero.
This was bound to cause confusion. Imagine Aunt Edna strolling into Best Buy to buy a new laptop computer. One model has the familiar Intel Inside logo and costs $800. Another model has an ARM processor and costs $550. Naturally, she buys the cheaper one, but when she gets it home she realizes that absolutely none of her Windows programs run. The machine is obviously defective and so, unhappy and upset, she returns it to the store. Multiply this scenario by a few thousand and you’ve got a full-scale marketing fiasco on your hands.
With the stroke of a virtual pen, Microsoft has sidestepped a lot of those problems. ARM-based machines won’t be running Windows 8. They’ll be running Windows RT. Even though they’re compiled from the same code base, the change in name will alert consumers that they’re getting something different. It doesn’t even matter if they understand what the difference is. The mere change in name will open the discussion, which ends with, “No, you don’t want one.”
Embedded designers, on the other hand – the real target market for Windows RT – don’t have a problem with this at all. They’re quite happy to call the OS anything Microsoft wants. And they’ll still get all the putative benefits of running Windows on ARM processors, namely the Windows Metro user interface and Windows’ built-in networking, security, and APIs. If you’re designing a computer-like embedded system, Windows RT is a decent choice. Just don’t try to sell one to Aunt Edna.