Skip to content

Teaching Programming With Scribblers

2010 May 22
by Hélène Martin

Scribbler tank robotParallax has been making a tank robot called the Scribbler for a while now and in fact will be selling a second version starting August 2010.  It’s a cute little blue ‘bot that I’ve been using to pretty good effect in my Creative Computing class using an add-on board by the Institute for Personal Robotics in Education, a Bryn Mawr, Georgia Tech and MSR endeavor.

The Scribbler itself comes with a visual programming interface I haven’t explored much at all but the add-on board (Fluke) allows for over-the-air programming in Python.  I teach Creative Computing in Python so I saw these ‘bots as a nice opportunity to expose students to an interesting problem space using programming tools they would already be familiar with.

At Bryn Mawr and Georgia Tech, the robots are used as the primary context for learning about programming but I’ve got some reservations about that approach.  I find the robots are fun for about two weeks and then their limitations really come through.  I would worry about irritating students by spending too much time with them so I introduce them late in the semester as sort of a ‘hey, look what you can do with what you know!’  I think it’s pretty satisfying for students to realize that all the concepts they’ve learned — iteration, conditionals, user input, variables, etc — can produce intelligent-seeming behavior in physical objects.  I also really like introducing students to the idea that information can be translated between forms to produce interesting effects.  For example, one exercise  I have students do makes their robot into something like a theremin by using light sensor values as beep frequencies.  Yesterday some students who had finished required activities were expanding on the idea of taking information in one form and using it in another to have their robot ‘sing’ an image by changing the beep frequency based on the amount of red in each pixel.  It was surprisingly nifty.

Issues I’ve run into:

  • Bluetooth is unbearably flaky — there are range issues, interference issues and so on.  Also, on Windows XP, the COM ports change constantly which is irritating beyond belief.  Every time the robot needs to be reset, students have to pair with their robot again and reload the libraries.  Pretty much unacceptable.
  • The myro library will inexplicably crash fairly frequently.  For example, it’s not uncommon for robots to stop being able to take pictures for a while.  The joyStick() command freezes all the time.  Again, very frustrating for students.
  • Everything is slow.  Moving is slow, taking pictures is slow, reading sensor values is slow.  It makes for a good lesson on embedded systems and their limitations, but again I think that’s only tolerable for about two weeks.
  • The sensors suck.  Sorry, but there’s no other way to put it.  The only two that work somewhat reliably are the light and obstacle sensors.  The others are worse than useless: they suck your time away and irritate you to no end.  Luckily I’d done enough playing around on my own to realize this before letting students loose on them.  The stall sensor, brightness sensor, line sensor, IR sensors are are mythical if you ask me.  It may be a myro issue, but I’ve never seen them give any sort of reasonable output.  Super frustrating, and again reduces the robot’s usefulness significantly.

People always ask me why I wouldn’t choose Mindstorms, especially given the limitations listed.  I’ve done enough outreach work with Mindstorms to have concluded that they’re great for mechanical engineering instruction but not so hot for learning to program.  It’s cool to be able to build custom robots but parts get lost, fall off and generally just take away time from programming so that was not an option I was willing to consider.

I do think the Scribblers were the right choice for what I’m doing.  At $200 each including the Fluke, they won’t break the bank and they’ve been very little maintenance.  I have 15 of them and they’re all doing fine even after a couple hundred students have used them over a year.  I know the Fluke looks fragile, but they’ve taken several face plants and been just fine.

I tried using them as an introduction to Python programming with students who had only used Scratch and I’ve decided not to do that again.  All the limitations are too frustrating in addition to trying to learn Python syntax and I’m afraid too many students walked away from the experience thinking programming was a huge time-sink with little reward!

I think these are the right robots to bring some excitement to a Python-based programming class for about 2 weeks and look forward to seeing the newer, beefier Scribbler 2.

(I recently gave a little training on using Python and Scribblers to the Puget Sound chapter of the CSTA.  My slides.)

7 Responses leave one →
  1. Jonathan permalink
    May 22, 2010

    I saw an evaluation board on wheels at the TI booth at ESC. There were two of them, a bit larger than a CD each, in a little arena and they’d change directions when they hit something. I can’t find a product page for it, so I assume it’s not released yet, but it looked like an interesting platform. Definitely not as robust as these scribblers look, but probably useful for advanced stuff. Wish I took a picture of it!

    http://www.businesswire.com/portal/site/home/permalink/?ndmViewId=news_view&newsId=20100427005934&newsLang=en

    http://bookstore.micrium.com/index.php?l=product_detail&p=26

    • Hélène Martin permalink*
      May 22, 2010

      Jon–

      Interesting. If you find out more or have other ideas for a relatively cheap, unbreakable robot programmed in a ‘real’ language do let me know!

  2. Michael Rosenberger permalink
    May 23, 2010

    <3 Scribblers :D

    Seems like they could dramatically lower the price of these if they got rid of the useless sensors on the back, and the other ones that don't work anyways… All you really need is light, obstacle, and picture taking. Maybe with the extra space and money they'd save from getting rid of the unused sensors, they could add a microphone! Then we could make that 11 year old with Scheme happy and make it controlled by voice commands :P

    • Hélène Martin permalink*
      May 23, 2010

      Michael: Check out the specs on the Scribbler 2 coming out this summer… it has a mic and other goodies. I’m going to try to get a couple for the fall.

  3. December 5, 2010

    I stumbled across your blog while searching for information about the Scribbler, in anticipation of using it for the first time later this year. I think I share your opinions about both the Scribbler’s potential for flakiness and Mindstorms’ lack of programming focus. I want the students to learn about programming, and to think about the algorithms and mathematics involved in the problems they are solving.

    To that end, I recently developed a robot simulator that you might be interested in. The students are currently using VPython, which I think has been a great “post-introductory” tool for working with graphics, physical modeling, etc. From there we just moved to the simulator, which uses VPython. Right now we are just using it as a fancier turtle graphics engine.

    But I recently added support for obstacle detection and navigation, with stall and proximity sensors on a chassis modeled after the Scribbler. I plan to move into that, in a “cleaner” simulated environment, before advancing to the “real thing” with all of its extra quirks that you have already described.

    You can check it out here; any suggestions are appreciated.

    Look forward to reading more.

    • Hélène Martin permalink*
      December 5, 2010

      Your simulator is great! I may actually consider using it instead of Turtle Graphics as my starting activity. Are the sensors implemented in the version you linked to? I plan to check it out soon.

      Note that the stall sensor doesn’t work as far as I can tell and that the proximity sensors are very susceptible to noise. You may want to have your students use the Scribblers first, then when they get frustrated play with the virtual world and discuss the differences. I worry that you’ll have a hard time selling the actual product if they’re used to something that works as expected…

      • December 5, 2010

        Yes, the current version has both the stall and proximity sensors implemented. This has been a fun project for me; let me know if you have any luck, problems, etc.

        And you’re right, this is certainly an idealization of the real thing. A possible improvement I have thought about would be to add a noise model and/or P(fail) model to the sensors. But part of my reason for starting with the simulator is as a smooth transition from the VPython work that they are already comfortable with, and to excite them about working with robots… without frustrating them in the beginning :) . I am not much of a teacher (I’m just volunteering), and this is a new experiment for me, so I am frankly curious to see how the students will respond.

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS