N.B., this post is being sent via a connection we set up from the College of Medicine in Blantyre, Malawi, to the COM Guest House just over the hill. Antenna pointing was done using the diagnostics from a Ubiquiti Powerstation 2 and a SWAG-optimized antenna-pointing algorithm.
Jul
26
Trans-African Plane Geeking
Category: Geek Travel, Plane geeking, Wireless Networking |
Leave a Comment
Jul
20
Plane geeking: Head to Head
Category: Plane geeking |
Leave a Comment
Jul
20
SunSPOT camp
Category: Robots, SunSPOTs |
Leave a Comment
I really am trying to post here more than once a month, really…
So Sun Labs and the Santa Clara chapter of IEEE RAS had a small “SPOTcamp” yesterday morning where people could come down to CMU West with their SunSPOTs or buy a set if they didn’t have one and work through some demos and HOWTOs or generally hack about on SunSPOTs.
It was only about half a day, from 8:30 ’till 13:30 or so, but I had fun, and, more importantly, got to poke at the guys from SunSPOTWorld in person and grill them about some bugs I was seeing, questions I had, etc.
I upgraded to the latest SDK, “blue”, which appears to have solved a number of bugs, including some UART and Solarium annoyances. I brought the ‘bot and with minor tinkering got one of the demo apps working with it to control the camera servo. The basic idea is that you breadboard up a circuit to control a servo with one ‘SPOT and a flex sensor with the other and the ‘SPOT with the flex sensor sends the resistance values it’s seeing wirelessly to the servo SPOT, telling it how to control the servo.
The picture up top is of the setup. YouTube video is here
Jun
27
Robot roll-up
Category: Robots |
Leave a Comment
This is actually from a few months back, but I just heard about it the other day:
The Yellow Drum Machine is just a way cool freakin’ robot that finds objects, taps on them using stick attached to a servo and then samples the tap.
If it likes what it heard, it beats on it some more with another “drumstick”, playing back the first sample and riffing off it. I really want to build one…
I took some neat pictures of the first ever Pleo/OrbSWARM encounter at RoboGames 2008. No small robotic dinosaurs were harmed during the event.
I went and saw WALL-E last night at a midnight showing with a bunch of other local robogeeks and came away totally impressed, charmed and overwhelmed with the kyoooot. You really should go see it. This time, in addition to maintaining their excellence in story and visuals, they really managed to get the characters to emote convincingly. In fact it probably took a movie like this to accomplish that because there’s little actual dialog in it. I’m betting the screenplay probably reads rather like the one for 2001 since there isn’t a really line of dialog in either movie for the first 20-40 minutes or so.
Anyway, you should go see it.
Finally, somebody over on RobotStockNews discovered this video by Mr. Pitiful
which has sort of a Squirrel Nut Zippers swing/klezmer-ish kind of sound to it.
Jun
18
Rover: An iRobot Create-based CamBot
Category: A boy and his robot, Geek Travel, Robots |
Leave a Comment
BayCon commissioned me to build a cambot for their BCTV division this year. I took it to BayCon 2008 over the weekend of 5/23-5/26/08. I think it mostly went pretty well. There were a few glitches here and there, but overall I think it did pretty well for a first time out. I’ll post more about that later. This is mostly about the design and construction of the ‘bot.
The hardware platform for this robot is a iRobot Create using the SonarBot software and hardware with a Targus tripod mounted to an acrylic base screwed into the 6/32″ mount points on the Create. I decided to go with a tripod rather than fashion a custom “stalk”-type mount. I did this partially because I thought it would be more stable and not wobble as much as a monopod, but also because I wanted the screw-down mount you get with most tripods. That way I could interchange cameras from the simple 2-servo pan/tilt video-sender I have mounted on it up at the top of the page, to a regular digital camera to something like a Gigapan. While the cambot is based on the Sonarbot platform, there are a few differences/enhancements.
Improved connectors/wiring.
The Sonarbot is a test and development platform, so I made it with the idea that things could be added/removed/cut off and hacked on with impunity. Since the CamBot was commissioned work, it’s essentially a production model robot so I had to make it look as clean as possible. So the wiring has been pretty much reworked. Rather than running wires right into DB9s, I used the Sparkfun DB9 breakout board and soldered some right-angle stripline header to that to provide modular connectors that could be easily (dis)connected.



Remote Control.
I needed a remote so that you could direct the bot around to a photo/video point-of-interest. It got built at the last minute, so it’s the result of a few fevered nights with my soldering iron, a BoArduino a stack of project boards from Radio Shack and a bunch of other components. It works and has a wonderful sort of bespoke quality to it, but it was a real pain to build and has convinced me to start learning an EDA tool like GEDA or Eagle so I can make a board I can stick in a Playstation or Xbox controller for the next version.
Loading/Ballast
Unlike the Sonarbot, the Cambot has an actual payload to carry and balance. Under the weight of the tripod, the acrylic deck would bend at the front and back so I had to figure out some way to support it to prevent stressing the deck and also causing the camera(and image it sent back) from flexing and rocking while the robot moved.
I used the cargobay tailgate from another Create and stacked it on top of the one already in place on the CamBot to provide support and ballast in the back. If you look closely, you’ll see that the 2nd tailgate fits right underneath the tripod deck and provides a solid place to anchor the rear leg of the tripod.

The front presented a bit of a challenge because any support solution would not only have to support the weight of the tripod and prevent bending/flexing of the deck, but also allow the front bumper to move so the robot could tell when it bumped into something. I played around with a couple ideas and settled on the above solution. I cut some lengths of acrylic rod that were tall enough to support the deck against the weight of the tripod and attached them to the underside of the deck with hook-and-hook velcro. This anchored them solidly in place, but also let the bumper slide under them as it moved. The weight of the tripod provides enough downward pressure on them so they push against the bumper and don’t flop around from only being mounted at one end.
Diagnostic mode.
I wrote some POST code that tests the sonar sensors and other bits on the ‘bot and has a beep and light code to indicate status on its various systems so faults could be easily diagnosed. Normally, I would get at this via attaching a debug cable to the soft UART port on the Sonarbot. This can be expanded to confirm that other peripherals are working on the robot if necessary.
Programming port adapter.
Since the deck of both the Sonarbot and Cambot obscures the Command Module Programming port or at least makes it interesting to access, I made a port adapter to bring the USB B-Female port up above the deck so you can attach a matching USB B-Male cable to the Command Module without having to fish it around underneath into the Programming port.
The tripod itself is mounted to the deck surface with pads of industrial strength hook-and-hook velcro. I’ve been able to quite reliably pick the ‘bot up by the tripod and not have it let go. So the velcro is more than capable of bearing the weight of the ‘bot. In the future, I’d still like some sort of fetters or clamps to lock the tripod feet into place on the deck, while also allowing the tripod itself to be more easily detatched from the robot itself.
Code
Code is coming. It will appear as soon as I’ve cleaned it up a bit and merged it into the SonarBot package. There’s not really a whole lot of difference between the two code-wise and I can see both the POST and remote-control functionality being useful to have in the SonarBot package anyway.
- "Headshot" of Rover, the BCTV Camera Bot
- BayCon BCTV 'bot back: ballast and support
- BayCon BCTV 'bot : ballast and support
- The BayConBot with admirers
- One side of the 'bot, showing Xbee connected to TTL soft UART
- BayCon Bot remote control
- BayCon BCTV 'bot remote partially disassembled.
- Acrylic rod provide support for the tripod near the front of the 'bot
Jun
14
About that rollup…
Category: Code, SunSPOTs, UNIX/Linux Geeking |
1 Comment
In the meantime, I realize that this might make me appear to be A. a heathen or B. woefully behind the times, but might I say that Netbeans is the first IDE I’ve actually found I enjoy using, instead of merely tolerating or wanting to immediately hurl against the wall with all possible force ?
Mostly, I think this is because it doesn’t really get in my way. It puts warnings/info/errors in little icons on the side of the main edit pane and only occasionally pops up windows or tooltips and those quickly go away of their own accord instead of staying on top going
“STOP! FORFEND that thou shouldst speakest such vileness to me!! Fix immediately this heap of offal thou hast dumped into mine pristine edit buffer lest I be forced to pull this session over to the side of the road!”
with the correspondingly solitary, helpful and cheery “OK” button just waiting to be clicked on.
Now before anybody says “But that’s how $MY_FAVORITE_IDE does it too! Where have you been for the past 15 years??” I have to say that I was scarred at an early age by some truly horrid CASE tools which set me against anything other than the most minimalist of text editors. Oh, sure I would pop my head up every few years to see if there was anything out there that was better, but I never really fell in with the Church of EMACS and everything else along the way seemed to be a marketing person’s idea of “easy”, which tends to mean “wrap a GUI around it and call it ‘user friendly’, even if it really is just TECO with a toolbar across the top”
Smultron has also been usable, but has it’s own quirks and irritations(mostly around how it manages “projects” of source files) that forced me to write some of the code for the SonarBot in vi so I could actually get it done without (again) wanting to hurl my laptop at the nearest solid object. Me ?—picky about my dev environment ?—naaahh. I just don’t want to have to keep buying new laptops…
I’ve been writing a remote control for the SonarBot/CamBot platform in J2ME for the SunSPOTs and I noticed as I was tapping away at the code this morning that I was actually finding the stuff that NetBeans was doing was helpful. Warnings light up along the side right away when I , say, define a new variable or change the calling parameters of a method, but disappear equally quickly when I’ve finished adding the necessary closing curly-brace or semicolon.
Am I totally going to abandon vi for Netbeans?—no, but I’ll use it when it makes things like programming the SunSPOTs easier than not using it. Which is all I really want from any of my tools. Be helpful, but mostly stay out of my way.
Jun
11
Bizzy…
Category: Uncategorized |
Leave a Comment
So, yeah, bizzybizzy ‘dillo….
Rollup post(s) follow…
May
19
SunSPOT machine-pin header adapter
Category: Robots, SunSPOTs, Wireless Networking |
Leave a Comment
One thing about the SunSPOTs that looked like it might prove problematic is the fact that the I/O pins are presented at the top slice as a machine-pin-style header block rather than the usual .1mm square-pin block that I’m more used to seeing.

I got these from Halted sometime last year because I thought I needed them for a project and it turns out that said project really wanted standard .1mm connectors. So I threw them back in the bits box, knowing that I’d use them “someday”.
It turns out that that “someday” was today because not only do their pins fit into a machine-pin socket, but their own sockets take a .1mm square header! So it’s basically an adapter ![]()
Yay for serendipitous hardware interfacings, even more yay for not having to solder things into my new toys(As most of the online docs I’ve found so far seem to sugest you’ll have to.)
May
18
SunSPOT cycle
Category: Uncategorized |
1 Comment
mostly hacking on robots and helping others hack on robots, playing Wii and generally being my usual geeky self, having a wonderful time at the uber-mondo-elite Sun Executive Briefing Center . I got to hack on and experiment with a couple SunSPOT devices and at the end of the evening was a very lucky geek because I got to take a set home to keep. Unboxing pics below.
I’m actually pretty psyched about this because I’ve been lusting after a set for a while now to use as a more powerful controller host for the robot(s), esp. given the specs. Image processing off the CMUCam2, augmenting the navigation capabilities with the ‘SPOTs accelerometer, servo controller, arm/manipulator controller all immediately spring to mind as possibilities.
I’ll certainly keep you updated. If you have any experience with them, I’d love to hear about it.
May
11
It’s a ‘bot in a box!
Category: Robots, Uncategorized |
Leave a Comment
Enter Ikea.
I’d gone to their store in East Palo Alto with a friend looking for a bag that I could use as the starting point for making an armored tote bag and came away with the Ikea Flort bag 001.299.70. It’s got fiberboard sides and bottom, and, minus the soft top, is pretty much what I was looking to make. It also just happens to fit an iRobot Create perfectly. There’s a bit of space on each side of the octagonal Create box for misc cables and widgets and stuff.

































