Indiana Linuxfest and the CATCAN quadpod

I was at Indiana Linuxfest this weekend. A couple of BeagleBoard-xMs were raffled off in support of the conference and it seemed a lot of people were interested. I gave a brief talk about the BeagleBoard project, Mark Yoder from Rose-Hulman and his students gave hands-on training to those interested in the Hackerspace Village and we had a BeagleBoard.org table for part of Saturday.

On Friday before I left for the show, I got a package from CATCAN in Taiwan containing two BeagleBoard-based robots and not much else; certainly nothing else I understood. I left the hexpod at home to make sure it wasn’t damaged and took the quadpod with me. Sitting at the table, a group gathered and we figured out what we thought was the right way to connect the battery. The first thing we noticed was this ominous shrill after applying power. As we sat nervously wondering what was going to happen when we applied power, one person sitting at the Linux in the Ham Shack table noted a resemblance of the bot to the evil metal spiders in Dr. Who.

We decided that the shrill was likely the fans in the servo motors. You can block it out after a while, but it is loud and frightening. There was some concern that this meant that the servos were under strain, especially given that the motors were all moving themselves in addition to the legs, but I’m pretty sure we ruled that out and it really is the fans.

Knowing from the CATCAN and BeagleBoard.tw websites that this bot was running Android, a random group of us sitting around the table decided to hook up a serial port and tried to figure out what made the bot move. Being Android without any additional GNU utilities in the file system, the shell can be a bit frustrating. We couldn’t hit backspace or perform tab completion. However, obvious commands, like ‘ls’, ‘cd’ and ‘cat’ are there so we could go about our exploring.

One of the first files we found was a log in /data/dontpanic. We found that quite reassuring. Eventually we found /system/etc/init.hexapod.sh and the fact that it pointed to executing /data/test-long-time-hexapod. Sure enough, running that executable sent our bot back through its motions. Running it from the shell gave us a printout of 13 different numerical values–the same number of motors on the bot. Eventually, I’ll need to figure out how to recharge this bot–unless I have somehow underestimated its capabilities. I’m still a bit away from figuring out how to give it my own directions, but I think I have a start now–thanks to the attendees of Indiana Linuxfest!

It wasn’t all games on the show floor, I also enjoyed a few of the talks. I especially enjoyed the presentation on Open Hardware by Joshua Burton. I am anxious to figure out what I can do with a Bug or BeagleBoard and the realtime sensor data aggregator Panchube. Joshua also introduced me to the work of Rodney Brooks who, among other interesting things, contributes to Edge.

I also picked up a bit I didn’t realize in the Ubuntu for ARM presentation by David Mandella. One thing that surprised me is that the 10.04 release for ARM isn’t considered “LTS” or long term supported. David predicts that the 12.04 is likely to be the first LTS release for ARM. With the Linaro work on the device tree and lots of OMAP/BeagleBoard patches being accepted into the mainline Linux kernel, I expect that to be a stellar release for the BeagleBoard users out there.

The presentations were recorded, so hopefully I’ll be able to provide an update with the recorded presentations.

Update (3/30/2011): Sog Yang gave me this link to find a charger: http://www.rc-airplanes-simplified.com/rc-battery-chargers.html