By Eric Gregori
Last week, NASA and the Boy Scouts of America (BSA) unveiled a new Robotics merit badge.
NASA press release “NASA and BSA developed the badge because of the wide-reaching impact of robotics and its role in science, technology, engineering, and math, or STEM careers. The badge is now a part of the BSA’s new curriculum emphasizing STEM activities and will help young men develop critical skills relevant and needed in today’s competitive world. The new merit badge is one of 31 STEM-related merit badges. Scouts will have access to engineering software and work with professional mentors worldwide to earn the badge.“
For a scout to earn the badge, he must understand how robots move and sense the environment.
This requires that the scout design a robot and demonstrate how it works. The BSA anticipates that a scout will spend approximately fourteen hours to earn the badge. The BSA predicts approximately 10,000 badges will be earned the first year.
NASA and the BSA developed the badge to promote STEM careers. Robots excite the imagination, and promote the concept of experimentation using the scientific method: ask a question, do research, construct a hypothesis, test your hypothesis, draw a conclusion, and document your results.
Freescale supports education in the STEM fields via our University Program. The Freescale Cup is an autonomous vehicle competition utilizing eleven-inch model cars. The goal is to design and build an autonomous car that can complete a lap around a track marked with a line down the center. The car with the best time wins.
Although I was never a Boy Scout, I got involved in robotics when I was only eight years old. It started when I read a book, Andy Buckram’s Tin Men by Carol Ryrie Brink, about a boy that builds robots out of string and cans. The concept of a robot intrigued me and a trip to the library yielded multiple TAB books on robotics. How to Build Your Own Working Robot Pet by Frank DaCosta and How to Build your own Self-Programming Robot by David L. Heiserman, were my introductions to electronics and microprocessors. These great books introduced many people to robotics and computers in the late ‘70s and sparked my imagination so much that I set out to build my own robots and computers. My first robot was controlled by a hacked Atari 2600 joy-stick. I was ten years old and was hooked!
If you were a geeky teenager in the 1980s, you will remember the Apple II or the Commodore 64. Back then, everyone learned to program in BASIC (Beginner’s All-purpose Symbolic Instruction Code). BASIC was so easy to learn that even kids could do it. Unfortunately, if there was a standard, nobody followed it because every home computer manufacture had their own version of BASIC.
The Robot Vision Toolkit grew out of a gap I saw in the robotics community, a gap between advanced programmers and non-programmers. Advanced programmers were able to take advantage of all the powerful software and hardware we have with modern computers and advanced embedded systems. Non-programmers were stuck using simple systems, and were therefore stuck building simple robots. The Robot Vision Toolkit bridges the gap by enabling non-programmers to build smarter, more capable robots. Using a language as simple as BASIC, with the power of C, non-programmers can take advantage of sophisticated libraries without knowing anything about advanced programming concepts. This was originally done to give non-programmers access to computer vision libraries, hence the name. As it turned out, there were many other libraries that the Robot Vision Toolkit concept could simplify access to. The toolkit grew in size with the addition of mind interface libraries, sound libraries, communication libraries, speech recognition, and hardware libraries (Figure 1).
Figure 1. The Components of the Robot Vision Toolkit.
RobotSee is the heart of the Robot Vision Toolkit. I designed the language based on the fond memories I have of programming my Commodore 64 and Apple II as a kid. It’s a simple programming language that gives the user access to all the libraries in the Robot Vision Toolkit. If you programmed a Commodore 64 or Apple II as a kid, you will feel at home with RobotSee. On the other hand, if you have some C experience, you can take advantage of the local variables, switch-case statements, and parameter passing.
Figure 2. A Simple RobotSee Program, Open in the RobotSee Editor.
You might also find the following blog post interesting: An ARM for an arm: A robotic arm controlled by the Freescale i.MX53 Quick Start board
An easy to learn programming language is not complete without easy to use tools. The Robot Vision Toolkit includes an editor and debugger. The editor automatically color codes your text as you are typing (Figure 2). For example, the editor displays language keywords in a blue hue while comments are a green hue. This makes code easier to read, and also makes typographic errors stand out Programs can also be executed or debugged directly from within the editor. The debugger allows you to single-step through the code and view/modify variables in real-time (Figure 3). Real-time data is best viewed graphically and the real-time datagrapher (Figure 4) lets you plot the changing values of any variable while a RobotSee program runs.
Figure 3. The RobotSee Single Step Debugger
Figure 4. The RobotSee Datagrapher – It Graphs Variable Values in Real-time
Related Article - A modular embedded systems reference design: The elevator is going up!
With the creation of BSA robotic badge, a whole new generation of kids will be exposed to the STEM fields, and a few kids will be excited and fascinated by robotics. Nothing makes a bigger impression and stretches your mind than when you actually build something and solve all the problems involved in its construction. RobotSee and the Robot Vision Toolkit make it easy for kids to experiment hands-on with robotics, not just at a basic level, but with advanced robotic concepts like computer vision, speech recognition, and mind control.
You might also find the following article interesting - “Your Wish Is My Command!”