Older blog entries for tbenedict (starting at number 23)

Orangutan / Baby-Orangutan Library -

I'm a lot further along on the library for the Orangutan / Baby-Orangutan from Pololu. It's written for use with AVR Studio 4, but any WinAVR or GCC for Atmel setup should be able to compile it (it's all GCC, in any case).

So far digital I/O, bitfield mapping of the I/O and control registers, analog, PWM motor control, and LCD code for the full sized Orangutan are all done. Still to be done are serial I/O, SPI (I have help on this one), I2C, the buzzer on the Orangutan, and servo control.

The same code runs on both boards. For the Baby-O, just disable the LCD, pushbuttons, buzzer, etc. At the moment compiled size is about 632 bytes for the Baby-O and 1124 for the Orangutan. With 16k of code space available, this still leaves lots of room for the user program.


11 Dec 2006 (updated 11 Dec 2006 at 23:33 UTC) »

Robofest 2006 in Hilo, Hawai'i ROOOOOCKED!

There was a Lego line following event for students that went really really well. Most of them built two-sensor robots, a couple built using three or more sensors (these tended to do better.) The line course was styled after a road through a rain forest here on the Big Island of Hawai'i, and included obstacles like "boulders" (pieces of colored paper placed over the line). Some robots coped better than others. Crowd participation was intense!

A number of schools also brought their ROVs from the BIRR/MATE competition, and showed them off in 30" deep dive tanks. I brought my little mini-ROV that I built, and got permission to throw it in one of their tanks. The kids passed the controls around from kid to kid for over an hour, with everyone taking a turn at driving the little one around the tank while the bigger ROVs chased it around, putting it up on their camera screens. The fun only stopped once the batteries died.

A raffle was held at 1pm during which a number of roobt things were given away, including a Mindstorms NXT kit, which went to one of the kids in the audience.

Finally, an open mini-sumo competition was held with nine robots. Third prize went to one of our club members, a nine-year-old with a modified Parallax robot. Second went to my own Shallow Blue, and first place went to my wife's Black Dolphin, a Mark III.

The event was organized by Gary Fujihara, who put in an incredible amount of time and energy to pull it off. It was MC'ed by J.E. Orozco from KBIG's Morning Mojo, who did a fantastic job of getting the audience hyped up and cheering. I put the bulk of the credit for the event's success in their hands.

I had a blast, I met a lot of people on the island who are hard-core into Robotics, and I can't wait for next year's event!

Robofest's URL:

Robofest Website


Last night there was a parade in town, followed by a star party hosted by the place where I work. As part of that, our robot club was invited to show off our robots (and try to drum up new membership, of course.) This was just as well because the weather didn't cooperate and the star party end of the star party was a bust. So visitors entertained themselves indoors watching a space video assembled by one of our astronomers, going through the image gallery hallway, and visiting our demonstration.

It was a blast! Lots of kids came, of course, so we basically put the mini sumo robots in their hands and said, "Have fun!" Have fun they did. The bots ran for well over an hour of straight action (thank goodness for LiPoly batteries!) and match after match of competition.

About halfway through this it occurred to me that handing my robot to a complete stranger one week from a major competition might not have been the smartest thing I've done in my life. But all went well and despite some of the new operators being five years old, they took good care of our hardware and thoroughly enjoyed themselves. Batteries are charged, bots are checked out and tested, and we're good to go for Robofest Hawaii.

We handed out lots of flyers, not only for the Robofest competition, but for our club as well. (I need to print up more for our table at Robofest!) It was a fun night. I'm pretty confident I won't entirely get my hat handed to me at Robofest, and with any luck we'll get more people showing up at the meetings ready to break out their screw drivers and soldering irons and join the fray.

Starting a robotics club has been a lot more work than I'd hoped for, but it's been worth every minute. Seeing the excitement and the charge people got out of it, I don't regret a bit of it.


I know this is a pretty simplistic thing to post in my blog, but my Baby Orangutan board showed up in the mail yesterday, and today I finally jumped through all the hoops and got the AVR Studio 4 setup working. (Not that many hoops to jump through, actually... just need to make sure all aspects of the IDE know what device you're using.)

I loaded my first program, the "hey, I have an LED!" equivalent of "Hello, World!": a heartbeat. So for $30 for the device, $34 for the programmer, a few minutes of soldering and about an hour of scratching my head, I have a blinky light.

Nice thing is the blinky light has a dual H-bridge that can drive an amp per channel, eight channels of 10-bit A/D, and ten channels of digital I/O waiting to be thrown at a new task: a well behaved fast line follower.

Work on Speedy begins!


In response to the work being done by cschur:

First, thanks for undertaking this! I'm building out two new robots: one's a line follower, another is a 4WD chassis initially intended for mini-sumo, but it's also being designed as a general purpose explorer. I was planning to use IR sensors, so I eagerly await your findings.

Second, have you looked at the Sharp GP2D12 and related family of sensors? They use triangulation rather than modulated reflectivity, and seem to be much less sensitive to the reflectivity of the target surface. At one point I was trying to "stealthify" a mini-sumo robot, and found it could accurately gauge distance even when the target had extremely low reflectivity. It was uncanny.

Finally, I seriously look forward to your IR photographs. I've done IR film photography since about 1996, and switched to digital IR in 1999. These days I work at a place that does a lot of IR optics. As part of that I run spectra from 190nm out to 3200nm of any material we put close to an optical beam. As you say, the results can be surprising.

Black electrical tape is black in the IR. Colored electrical tape is not. Antistatic foam, as you pointed out, is quite dark and makes good optical baffle material. Some flock papers are extremely bright in the IR. Others (typically PVC-based ones) are extremely black. Black Delrin is black in the IR. Not all black plastics are. Most black anodization dyes are not black in the IR. Black cotton cloths tend to be quite black in the IR. Black synthetics like satin tend to be extremely reflective. Krylon Ultraflat Black paint has almost the same spectral response as higher priced IR paints (pretty sure they both use carbon as a pigment.)

I'd be curious to see what your findings reveal.

Thanks again,


In answer to Vilita's question about wheels, there are lots of possibilities for a 4" wheel less than 1" thick. There are lots of possibilities for wheels, period. If I was making a robot that needed wheels I didn't have in my shop, here's where I'd start:

Check the hardware store and see if they have any lawnmower or wagon wheels 4" in diameter less than 1" thick. Failing that, check the plumbing department and pick up some PVC or ABS pipe caps. They should be available in about that size. Cut back the flange part of the cap until you have the thickness you want. If you have a lathe, it's a ten minute job at the most. If not, you can do this on a drill press by first hacksawing off as much as possible, mounting it to an arbor, chucking the arbor up in the drill press, and finishing it off with hand files. Run slow and BE CAREFUL!

Check at the nearest Goodwill, Salvation Army, or equivalent thrift shop. If anything there has 4" wheels the right thickness, buy it, strip the wheels as part of your salvage job, and shelve your spares.

Check at the toy store and see if anything has wheels about that size. Likely suspects are small wagons and rolling toys for toddlers.

Make your own on a lathe. This sort of goes back to the PVC or ABS pipe cap idea, but takes it one step further to where you design and build it from scratch. Stranger things have happened. You never know. I made a series of 4" diameter parts on a Taig lathe. Similar work could've been done on a Sherline or Asian mini-lathe. A good setup for any of these will run you between $500 and $1000. It may seem like a lot for a set of wheels, but the lathe will still be cranking out parts long after that robot is shelved or stripped.

Design your own and have someone else make it. Strange though this sounds, it bears mentioning. See if there's a home shop machining club in your area and see if any of them is interested in taking on the job. Better yet, see if any of them are interested in robotics and you may have a teammate. (Better still, see if anyone's selling a lathe used. Then you get your own home shop and you can join their club!)

Failing that, price out the job at a local machine shop. Shop rates vary and some shops price jobs as a way of controlling workflow, so do shop around.


I'm freezing mechanical changes on Shallow Blue until after the Hilo Robofest competition. I made a second set of mechanical bits for my wife's robot, Black Dolphin. The last electrical mod should be done tonight: swapping to a LiPoly battery. I've ordered most of the bits and pieces for Speedy, the line follower I've (not) been working on. The only remaining part still un-ordered is a Baby Orangutan from Pololu. I hope to have the mechanics done by the time the Orangutan shows up.

Depending on how Speedy goes, I'll probably buy another Baby Orangutan for Mule, a 4WD chassis I'm building out. It'll fit inside the mini-sumo size constraints, but I'm thinking more in terms of projects with wider scope: maze, firefighting, mapper, etc. But it'll start life as a mini-sumo for debugging hardware since it's a role I'm familiar with.

Once these are done, that closes out my open robotics projects. Which will open the door to new things! Already people in our club are kicking around some larger ideas: slocum gliders, robo magellan, even talk of an entry in NASA's lunar lander competition (yikes!) But at least I'll have more bench space in my shop to take some of these on.

I'm curious about something for most of the "bug style" walking robots. (This question really doesn't apply to the RoboOne style biped robots.) Almost all of the bug-style walkers have their legs articulated the same way: The entire leg pivots around a vertical rotary axis at the hip joint. Also on the hip joint is a horizontal rotary axis that lets the entire leg move up and down. Past this there's typically at least one other knee joint, also usually oriented horizontally.

Earlier when someone posted about the Boston Dynamics "Big Dog" robot, someone made a comment about how odd the leg joint arrangement was. It's odd for a robot, but not for a dog. The primary joint is a horizontal rotary axis, oriented parallel to the length of the body. This lets the leg swing in closer to the body or out, farther away. Mounted on this is another rotary axis that pivots with the rest of the leg. It's neither always vertical or always horizontal, but with the leg directly under the robot it's mostly a horizontal rotary axis that lets the leg swing forward and back.

It's this hip design (a very good analog to what you see on a cat or a dog) that lets the Boston Dynamics robot have such nimble feet and respond so well to a disturbing force (e.g. a swift kick to the ribs, as you can see on the videos on their web site.)

The only other place I've seen that close an analog between nature and robot was the study done at MIT on the mechanics of cockroach leg joints. It's not nearly as obvious as one might think, and bears little to no resemblance to the hexapod arrangements available from most robotic supply houses. Among other things, the hip joints more closely resemble those of BigDog.

So I'm curious about two things: One, why haven't more people tried this hip orientation? For accelerating from a dead-stop, it places more of the loads along the leg rather than across it (much easier on the joints!)

Second, and more important, did I just ask the "but why?" question that's going to get me out of mini-sumo and into my next phase of exploration in robotics?

In a way I hope the answer to the second question is no. I love building mini-sumo robots. In another way I hope it's yes. Walking robots pose REALLY neat questions I'd like to play with.

I guess I really hope the answer is "both"! It means I get to make walking mini-sumo robots! Though hitting the 500g limit with three or more servos per leg is pushing it...


Robotics projects have been put on hold while we recover from the earthquake out here in Hawaii. My robots survived fine (some books fell on one of them, but that's it.) The shop more or less survived fine. Mill and lathe are still on the bench, though I did have a hand scraper and a couple of other tools fall. My wife had more tool avalanches than me, including some torches (thank goodness we never leave tanks attached!)

Most of my time has been spent at work trying to get things operational there. It's amazing how violent an earthquake can be. It's even more amazing to see how fast our facility has been brought back online. It's entirely due to the efforts of some phenomenal people. With any luck we'll be back on the sky tonight, maybe even before the bad weather clears.

Back to work!


I got a nice lesson in infrared optics, the necessity of reading a datasheet before using a product, and the concept of paranoia in a robot.

I've been adding sensors to my mini-sumo robot, Shallow Blue. I finally installed the last of them, a rear-facing Sharp IR proximity switch set to trigger at 40cm and closer. For now any time the sensor trips, the robot is set to spin around 180 degrees. So far so good.

I loaded the code, verified, plopped it in a ring, and turned it on. It immediately set to spinning around and wouldn't stop! Paranoia!

Of course it's simpler than that. The vertical spread of the beam was impinging on the floor, giving the sensor a reading closer than 40cm. It was doing exactly what it was told to do. I was able to verify this in a dimly lit room using an older CCD camera (Nikon 950), which could image the robot as well as the beam spot from the sensor. A quick modification to wedge the sensor at an angle to the floor solved the problem.


14 older entries...

Share this page