Archive for July, 2004

Jul 28 2004

Social factors in software engineering

Published by matt under Uncategorized

Or is that software factors in social engineering?

Skimming a bit re: AOLserver at Philip Greenspun’s site, I found this bit of text interesting:

Some day you might need to convince a company to open-source a software tool. Companies have seemingly infinite money but the shortage of truly gifted software developers is acute (see Chapter 17 of Philip and Alex’s Guide to Web Publishing for my theory on why). A compelling argument will take the following form:

  • the tool is not the key to your business
  • if you need a new feature, it would be nice to be able to hire someone off the street already experienced with the guts of your tool
  • a vibrant community of users for your tool will save you money, give you new ideas, and make it easier for you to hire developers from the community
  • it is much easier to hire a great programmer for an open-source project where he or she knows that the work won’t be hidden or wasted

I found this very thought provoking.

Comments Off

Jul 25 2004

Print on Demand

Published by matt under Uncategorized

I like this.

CafePress provides print-on-demand services. From the website:

  • No setup fees or minimum quantities.
  • Black and white books with full color covers.
  • Choose from Saddle Stitch, Wire-O or Perfect Bound binding options.
  • Choose from 5 book sizes.

That, I think, is really quite cool.

One response so far

Jul 21 2004

Digital Bin Men

Published by matt under Uncategorized

For the last two days, I had the pleasure of taking part in the MM-Net summer school on garbage collection and memory management. I’ve felt comfortable for quite some time now constructing interpreters and compilers in a variety of contexts, but have always imagined that the garbage collector was a bit of a black art.

(For those following along at home, garbage collection is just what it sounds like: some programs, while they are running, use up resources (like memory) and then throw away the wrapper. Unfortunately, they don’t clean up after themselves; instead, these programs leave a mess everywhere. The garbage collector is a special program that goes around picking up all the trash, freeing up space for… well, for other programs to make a mess.)

After two days listening to experts from around the world talk about real garbage collectors in real, shipping products, I discovered something: garbage collection isn’t that hard. I mean, the principles of it are dead easy; it’s the real-world constraints that make it challenging. I no longer consider it a black art, and indeed, learned a great deal about how modern, GC’ed languages work that I hadn’t fully realised before.

I’m hard pressed to say which of the lectures I enjoyed most; Emery Berger from UMass was a very dynamic speaker; Dave Detlefs from Sun also had some very interesting things to say, and I enjoyed good dinner conversation after the first day at our end of the table with him, Ryan, and Hans Boehm.

All told, it was an excellent opportunity. For two days, I felt like I was back at Indiana, taking classes, trying to absorb concepts as fast as I could, assimilating and planning on how I would use this information in my own work. It felt good.

It felt good, but it was tiring. It really is time for a holiday.

Comments Off

Jul 17 2004

Library: Locked

Published by matt under Uncategorized

I’m not particularly fond of the fact that the academic publishing industry makes money off of the (often) publicly funded research conducted, reviewed, and edited by academics. I believe I’ve said as much before.

Well, I thought I’d rant a bit once again, but I will be brief, as I am tired. I went digging for a few things in the ACM Digital Library, and then decided I’d poke through the IEEE library as well. Before I go on, I should mention that I’m an ACM student member; for $42 a year, I get full digital access to every publication the ACM has in it’s library (and that is a lot). I have full text search and unlimited download. Quite a deal, actually.

Now, the full text search is actually free to anyone who wants to search the library. Go ahead: try it now. See. Exciting. I then made my way over to the IEEE digital library, and I discover that I must be an IEEE member just to do a search of the archives! As a plebeian guest I was allowed to browse the tables of contents of journals and conference proceedings.

This is, I think, foul. Not being able to do a full text search to see if there is anything in the library I’d want to purchase (or become a member to access) is absolutely ridiculous. How the IEEE gets away with calling itself a scholarly society when they’re busy building walls around their scholarly content (no full text search! Even Amazon gives me that!) is insane. I’m sorry: I have no respect.

If you know someone on the IEEE board, poke them with a stick, and ask them if they’re aware what the web group is doing. It’s a load of horse pucky.

2 responses so far

Jul 16 2004

Collaborative Robotics with LEGO Mindstorms

Published by matt under Uncategorized

I was looking for what kinds of languages have proliferated for the LEGO Mindstorm, and I found a Masters thesis by Andreas Junghans (Karlsruhe University of Applied Sciences).

What made this thesis particularly interesting to flip through was the process Andreas went through to enable the playing of football (soccer) autonomously on the LEGO Mindstorm without the installation of alternate operating systems or the use of languages other than those that are casually accessible to young students (eg. LEGO’s own language and ROBOLAB).

This is what I love about the LEGO Mindstorm: I never cease to be amazed at what people can do with it. As limited as it is, people find ways to make it do more and more all the time.

Comments Off

Jul 12 2004

Someone’s compensating

Published by matt under Uncategorized

I was talking with an office-mate today about how I knew of no uses for the Firewire 800 port on my Powerbook.

Until now.

The LaCie Bigger Disk Extreme, with the largest hard drive capacity available, is a unique innovation that packs an amazing 1.6 terabyte of storage space in a manageable 5.25-inch 2U format. Featuring the most advanced technologies in the industry, the LaCie Bigger Disk Extreme is the first FireWire 800 storage device to achieve transfer rates that are up to 50 percent faster than most FireWire 800. drivesI

biggerdiskNow, at $2200, I don’t see one in my near future. Nor do I have use for 1.6 terabytes of storage capacity. But there is something amazing about being able to plug 1600 gigabytes into my laptop for that little bit of extra space for, say, six gizillion MP3s.

At the first JCDL (Joint Conference on Digital Libraries), I remember Brewster Kahle talking about how you could easily, for less than $3000, purchase a cheap PC and pack it full of hard drives to get a terabyte-in-a-box. Brewster was interested in this possibility due to his “hobby,” the Internet Archive. In four years, we’ve gone from a standard PC packed full of drives to a 6″ x 3″ x 10″ box that you might set on your desk. A box that happens to store the digital equivalent of, oh, roughly 2500 CDs.

Wacky.

Comments Off

Jul 09 2004

Buying Toys III: Atomic Death Robots!

Published by matt under Uncategorized

Despite the time-zone differences, I’ve spoken now with representatives at both Acroname and Budget Robotics; they’ve both been incredibly helpful in putting together orders that will meet my particular needs:

  1. I want to play with robots, not build them.
  2. I have never used anything bigger than a Mindstorm.
  3. I am making this up as I go along.

Given these initial conditions, along with my best guesses at what is right for me, both Acroname and Budget Robotics have kept me on the straight and narrow. Whenever I’ve asked, they’ve done a good job of pointing me at things that are the “best fit” for exploring mobile robotics with students in the classroom, as well as having some viable little platforms for doing some light ubiquitous computing experiments with.

From what I’ve seen of the various programmable controllers available (the OOPic, the Basic Stamp, etc.), I decided the BrainStem was the way to go. This controller is overkill for what I’m going to use it for, but the price is right. It lets me control four servos, gives me five A/D inputs, five digital I/O ports, and the IIC bus, which lets me easily network multiple devices with each-other. All this with a 40MHz RISC chip that’s programmable unto itself, as well as capable of acting as a slave to a more powerful/flexible computing device. This is great.

Acroname will be supplying the BrainStems as well as an assortment of sensors.

ITEM PART NO QTY EA
Brainstem S1-GP-BRD 3 $79.00
RS232 Interface S13-SERIAL-INT-CONN 3 $10.00
Sensors
Ultrasonic rangefinder (SRF08) R145-SRF08 2 $57.00
Ultrasonic rangefinder (SRF04) R93-SRF04 2 $34.00
Compass R117-COMPASS 2 $50.00
Servo encoder package (2 in pkg) R238-WW01-KIT 1 $59.95
Pyroelectric sensor R3-PYRO1 1 $60.00
CMUCam 2 R228-CMUCAM2-OV6620 1 $199.00
HD Servo R84-HS-322HD 2 $15.00
Devantech TTS module R184-SP03 1 $99.00
Line sensor R185-SINGLE-LINE-IR 2 $14.95
Cabling
IIC Cable C5-BS-IIC 4 $4.00
IIC BS->BS C7-BS-IIC-6 2 $5.00
3 Cond cable C3-3COND-CBL-CON 4 $5.00
BrainStem Serial Extender C10-SER-INT-CONN-EXT 3 $5.00
Palm III Cable R82-PALMIII-CBL 1 $22.00
USB->Serial R233-USB-ADPT 1 $16.00

Budget Robotics will be supplying two of the three robotics platforms that we’ll be building on top of. While there might be something cheaper out there, I somehow doubt that Gordon McComb can be beat for the quality of the platforms he’s selling at the $50 price-point. I want something I can easily punch a few holes in and make my sensor mounts modular, so I can move the range-finders, compasses, and the camera between the different robot chassis I’m ordering. It’s like LEGO, but… more powerful.

ITEM PART NO QTY EA
ScooterBot KIT250 1 $52.95
Xtra deck KIT251 1 $8.49
Octobot KIT-360 1 $54.95
Xtra deck 1 $7.49
SRF0X Turret TURRET-100 4 $18.00
Optical sensor SENS200 4 $1.75
Tilt sensor SW120 2 $1.98
Flange-Style Servo Brackets SRVMT-203 2 $3.69
Compact Flange-Style Servo Brackets SRVMT-204 2 $3.69
R/C Servo Mounting Brackets SRVMNT-201 6 $1.99
Gusseted Plastic Angle Bracket BRAC-GUS1 1 $1.19
Wide 2" Gusseted Plastic Angle Bracket BRAC-GUS2 1 $1.19
2.5" Alum risers RISER-SET 2 $1.99
PVC Sheet, 6mm PVC-1212 3 $3.95
PVC Sheet, 3mm PVC-1212 3 $3.50

There are a few cables that must be ordered from third-parties; in particular, I need the cables for attaching an iPAQ or Zaurus (handheld computers) to the BrainStem.

Now for the cool bits. In case you were confused, everything that came before is cool, but the really cool bits are still coming up.

The particularly cool thing is that I put a call out to my department today for PDAs; up until today, I was budgeting to purchase one or more PDAs to act as the “brains” of these ‘bots. While the BrainStem could certainly act as a controller for all of these robotic platforms, it has some serious drawbacks in that it wouldn’t easily allow me to:

  • Program my robot in a high-level language.
    Using the Zaurus, I can program my robot in Scheme, occam, Java, Python, C, or any other high-level language. It hurts me to consider C a high level language, but there you have it. The Zaurus is particularly flexible in this respect.
  • Conect to the Internet wirelessly.
    This means a lot of things. My ‘bots can make use of web services via WiFi while wandering around. They can have more powerful machines do heavy calculation without requiring a tether. I can run Apache (an industrial-strength web server) on both the Zaurus and iPAQ; students can upload code to the robots via a web form. The ‘bots can “talk” to each-other using WiFi in a point-to-point mode. I can SSH into my ‘bot from my PowerBook. The list goes on-and-on.
  • Do interesting (big) experiments.
    While I could do plenty on the BrainStem, I will have a 64MB SD card in each of the handhelds; this means I can capture a lot of data, either from the range-finders, the camera, or any other input device. This allows for later analysis, as well as doing interesting things that require long-term data collection.

In short, I have a real computer on a little robot, and because three people in my department have come up with PDAs they aren’t using actively (one iPAQ H3970 series and two Sharp Zaurus SL-5500’s), I don’t need to buy any. It’s also a nice example of how equipment that no longer meets one person’s needs may still have a lot of utility elsewhere; all you have to do is ask!

rc-truckThe astute reader will note there are three PDAs and only two platforms. The third PDA will be mounted on a remote control monster truck body. This will give us a third robot that is easily capable of wandering around campus in a way that the two other ‘bots can’t. Sweeeet.

Round numbers, the University of Kent Computer Science department will be scoring $1500 worth of nifty robotics kit. That’s roughly $500 per ‘bot; that cost could be brought down, but I’ve made a point of making sure the kits have some serious computational power and interesting sensors (eg. the CMUCam 2). I think the only thing that’s truly gratuitous is the text-to-speech module. At $100, it’s a bit much, but really… if the monster truck is going to drive around where people are having coffee, it should be able to say “excuse me,” right?

Update 20040710 00:08
I think I may have been right; the synthesis module is gratuitous. Especially since the both the iPAQ and Zaurus have speech synthesis software freely available for it. Why would I need to buy a speech synthesis module when the PDA strapped to the top of my ‘bot can already do it?

Comments Off

Jul 08 2004

Buying Toys II: Second thoughts

Published by matt under Uncategorized

I still like spending other people’s money.

And, I like the idea of getting as many toys as possible when spending that money.

For example, consider the Timbot project at the Oregon Health and Science University. We can strap a PDA to the top of an RC truck chassis, add a camera and/or range-finder, and we have a mobile robot that can wander all over campus.

In the lab, I imagined that the PPRK would be the way to go. However, I’ve been continuing to dig around regarding the platforms available for building robots on. The chassis is not the interesting part of a robot; it is the utility of it’s sensors and actuators, as well as the programmability of it’s “brain” that matters most.

So let’s look at the PPRK as a platform: it has three drive servos in a novel configuration (cool, but possibly power-hungry) and relatively low clearance (so I imagine it doesn’t do well outdoors). I want to be able to mount a variety of different sensors on it, and reconfigure those quickly and easily. I have some design work to do, but given the platform, I’m going to have to be careful.

I like the BrainStem. At $80, it looks like a great interface to the ‘bot; it has 4 servo outputs, 5 digital I/O ports, the I2C bus, and 5 analogue inputs. This is good. But the PPRK base doesn’t look so practical. For example, it looks like there isn’t much clearance between the acrylic (?) top plate and the electronics inside; this means mounting equipment will be a job that must be done carefully. Furthermore, it’s expensive; this is, in part, because of the novelty factor of the platform. Admittedly, a holonomic drive is cool, but how much is it worth?

Enter Budget Robotics (http://www.budgetrobotics.com/). This online store provides only the bits of robots they feel they can provide as high quality components, but cheaper than you might find elsewhere. They design and manufacture all their own stuff. Cool. In particular, let’s compare prices on two platforms that are similar: the PPRK, and the ScooterBot platform from Budget Robotics.

  scooterbot pprk
  ScooterBot PPRK
Platform cost $55 $315
Controller cost $80 Included

TOTAL
$130 $315

If I buy a bare BrainStem as a controller, I can buy a base from Budget Robotics for $55 that has two servo motors, and is ready for me to attach my cameras, range-finders, and everything else. The price difference is $185; that is almost the cost of a new Zaurus 5500, which is the PDA I would like to slave the BrainStem to. I have enough to either A) pick up a second ScooterBot chassis (which gives me two indoor bots), or a treadded chassis that can manage the broken paving tiles that cover the Kent campus.

I guess the short version is that I can afford enough controllers and platforms to have two or three robots where we thought we might only purchase one. That’s a real coup, I think, and means that more people in different research groups can experiment with mobile WiFi robots that have a variety of sensor and vision capabilities. When I finalise the purchase order for our robots, I’ll include it here.

One response so far

Jul 07 2004

Buying toys

Published by matt under Uncategorized

FOR IMMEDIATE RELEASE
Canterbury, Kent, UK


Rarely have I had the opportunity, as a grad student, to spend other people’s money.

I have decided that I like it.

Based on a hint dropped by Brad, I poked Christian, and while I was at ITiCSE 2004 he put together a small bid for some end-of-year funds. As a result of this odd causal chain, we have some funding to buy some toys. These toys will support Christian’s research, the Cool Stuff in Computer Science project, hopefully find their way into some classrooms at Kent, and potentially provide other researchers at Kent with some creative outlets for their research as well.

To start, we’re going to pick up a Palm Pilot Robotics Kit. This name is a bit dated now; originally developed at Carnegie Mellon, it was intended to be driven by a Palm Pilot. We’re getting a slightly more interesting bot; it has it’s own small computer on-board (called the BrainStem). This little computer handles communicating with the drive motors and sensors; it could handle running programs, but we’re interested in doing some pretty complex stuff. While it certainly would be possible to do it using just the BrainStem, we want to be able to really cool things, like… run a web server on our robot! (There’s practical reasons for that, actually.) While running a web server on a handheld may seem silly, the truth is that a real computer makes doing really interesting things really easy. pprk
zaurus So, we’re buying a Sharp Zaurus 5500. This PDA is interesting to us because it has:

  1. Linux installed,
  2. a 200MHz processor,
  3. 32MB of RAM,
  4. 64MB of ROM (half of which we are allowed to use, half of which is for the operating system),
  5. a SD slot for adding more memory, and
  6. a CF slot for a wireless networking card.

What does this mean? The computer I took to college had a 66MHz processor, 12MB of RAM, and a 400MB disk drive. This handheld computer is three times as fast, has three times as much RAM, and I can easily put add another 512MB of storage to the PDA; the handheld and wireless card together cost approximately $280. If I add in the 512MB of storage, the entire handheld computer would cost $360. With the storage, the handheld is still five times cheaper than the computer I took to with me to university.

The Zaurus is a full-fledged computer. The BrainStem (on the robot) will be “slaved” to the Zaurus; we’ll program the handheld computer, and it will tell the robot what to do. This means we can program our robots in C, Java, occam, Python, and (most importantly) MzScheme! (Well, actually, the bit about programming in occam is important to Christian’s research, but we won’t talk about that right now. That’s a whole separate post, which includes pointers to a paper we’ll be giving in September.)

We’re planning on picking up a wide range of sensors. Ultrasonic range-finders, a full-colour camera, a compass, flame detector, and some extra motors that can be used to pivot the various sensors in more than one direction. While the kit can’t support all of this at once, we’ll try and enlist the R&D services of a world-class machinist to design some interchangeable mounts for the various sensors.

The purchases will be made in the next week; I’ll be doing some last-minute research, but the folks at Acroname (a robotics outfit out in Boulder, Colorado) have been incredibly helpful. If I can find a way to swing it, we might be able to put together two robotics platforms, but the second one will be even wackier than the first.

If you’ve got any thoughts or opinions on the proposed rig, feel free to leave a comment here (before the 12th of July). Comments (usually) get bounced through to my INBOX, so I tend to see them. In particular, I’m most curious about the power/flexibility of the Zaurus, and whether anyone has actually ever used a PPRK.

Dontcha just love spending other people’s money?

One response so far

Jul 04 2004

CS Students Excel… News at 11

Published by matt under Uncategorized

It’s a bit late to be acknowledging it, but better late than never. Two members of the CSCS group (that I know of) did quite well in year one. Not that anyone was particularly worried, mind you… I mean, if you’ve got enough wits about you to take part in CSCS, you’re probably kicking ass and taking names in the rest of your courses.1 Or, perhaps, CSCS is such an enriching experience that you are given that “extra oomph” that you need to excel…

Well… leave me to my fantasies, anyway. Congrats Steve and Rob (in alphabetic order by surname).

Do I need to update this post? Any other CSCSers with weblogs chuffed about their performance?

1 …rest of your courses? Was CSCS a course? Well, I suppose it kinda felt like one…

2 responses so far