The Transterpreter Project

Concurrency, everywhere.

A body for a bot

The last post on this blog was in October. Since then, things have been busy. Over the next few posts, I'll try and catch up a bit.

For the last three months, we've been working hard on the new Blackfin Surveyor SRV-1.

Blackfin Surveyor SRV-1

Blackfin SRV-1, image stolen from the Surveyor webpages

We first encountered the Surveyor at AAAI 2007. When Howard "Surveyor Daddy" Gordon updated the Surveyor from a 60MHz ARM with a few KB of RAM to a 500MHz Blackfin with 32MB of RAM, we took notice. And, even better, when it sprouted that oh-so-excellent WiFi tail, we really took notice. (It is so much easier to work with WiFi than the ZigBee radio that was there. At least for us it is.)

This semester, I'm co-teaching ENGR 3390: Robotics with Dave Barrett at Olin College, and we're using the Surveyor as the platform for the mobile portion of the course. We'll be using the Surveyor as a platform as a demonstrator where we can introduce students to architectures for cognition on robotic platforms in a parallel-safe way using the Transterpreter and occam-pi. And what we realized very quickly is that the SRV-1 looks like it is just begging to be beaten all to hell in the classroom.

See that processor on top, all nice and exposed? After a team of students shuffles in from the dry, Boston winter---BZZAPT!. No more Blackfin. One good static discharge, and the processor or RAM are gone. Or, those little laser diode wires? Oops! A careless gesture, and they're yanked out. Or what about a drop from the counter-top? I'm not confident the board would handle the fall very gracefully.

Dave threw together a quick Solidworks model, and dumped it out to Olin's rapid prototyping machine. This thing is incredible: it prints in 3D in ABS plastic. Send the model, step back, and 12 hours later you have this:

Photo 3

That is a battle-ready SRV-1. The laser mount was removed, and the diodes inserted into the body, which was simply printed with the diode mounts in the right place. The camera hole is oversize, and easily gives the camera a full field of view.

Photo 5

As you can see, the rapid prototyping machine has enough resolution to render depressed text in the body of the bot. This one clearly declares itself as property of Olin's ENGR 3390: Robotics course.

Photo 6

What you may or may not be able to tell is that the entire top of the box has mounting holes at 1/2" spacing perforating it; it is amazing what the RP machine can do. This means we can easily screw-mount sensor towers or anything else we might like to the top of the bot quickly and easily, running wires straight down through the body to the SRV-1 board.

Generally, the pictures are low quality because they were taken with the webcam built into my Macbook. I'll get better pictures at a later point.

The first thing we're going to have the students in the course do is take the basic Solidworks model and design bodies for their team's bots. This way, each bot will have a unique body, and the students will have some ownership of the process. However, we already have a few things we want to improve in the basic body before we turn them loose:

  • The body doesn't have anywhere to grab on to in the back; as you can see, it is just resting on the SRV-1's aluminum body. Our plan is to wrap around inside of the treads, where there is just enough clearance for us to sneak the body down. This way, we provide more protection for the boards from grit and the like, and can attach across the base of the bot on the underside.
  • We need blinkenlight mounting holes build into the body. This way, you can just push an LED up from underneath, and it will sit flush with the housing. We can wire them into the GPIO pins inside, and have all the wires hidden from view, and safe from snags on obstacles.
  • A view hole needs to be left for viewing the state of the three LEDs on the Blackfin's motherboard.
  • A mounting point for a header board could be built into the body, so sensors could be attached and detached outside; this depends on whether we expect to be doing much of this kind of prototyping with different sensors or not.
  • Mount points flush with the body wall for IR and other sensors on the front/back/sides could be very useful. We have a number of interesting sensors for the students to characterize and use, and mounting them safely inside the body would be a good idea.
  • The antenna should probably be above the ground plane; we could run a cable from the current point, under the body, and up to the top, where we could easily grow an antenna mount.
  • We have blue and yellow plastic coming in, which will produce a lasting color. Otherwise, we have to paint, which is less durable and a mess to work with. (Well, as messy as spray paint ever is, anyway.)
  • I want my robot's body covered in dimples (and maybe some through mounting holes) that are compatible with a certain plastic building toy that rhymes with Tierra del Fuego.
Those were the immediate improvements that we saw could be made.

We're really excited about the course, and I think both Dave and I are pretty excited about how cool the bodies for the Surveyorcould be. What's really awesome is that they are printed in ABS plastic, and have a wall thickness of roughly 3/16" of an inch. (I haven't measured; that's just my eyeball estimate from memory.) I pounded on it with my fist (off the Surveyor), and I hurt my knuckles. In short, the body is tough. The ultimate goal is to make it possible for a student, in their excitement, to give the Surveyor a kick on the field of combat (or drive it off a table), and have the bot be in a good condition to survive the fall.

Over the next two weeks, this body will evolve a lot. We're going to be playing with it, and then 24 of Olin's energetic, creative engineers-to-be are going to rapid-fire evolve it to their hearts content. I think we'll end up with something very, very cool. I'll post pictures and Solidworks models as the body evolves.


  • Posted: January 17, 2008
  • Author: Matthew Jadud
  • Comments: None
  • Tags: None