What else does this fool do ?

Over the years, I've found much amusement in building and making things, which is what an engineer at the end of the day does. I usually enjoy these little projects. Some of them have been for subjects I have done, others I have done for interest, and others simply to avoid having to face working on my PhD.

Undergraduate projects

These are projects that I did as an undergrad - mostly for academic reasons.

Hermes

Hermes was an attempt to design a MIPS R3000-like chip, for the subject Computer Organisation and Design. We worked in a group of 12, and while I cannot say it worked completely (some of the I/O and caching was pretty dodgy), but we actually got a small program running (we got it to compute 16 factorial).

Da Bandwidth Booking System (DBBS)

For Software Engineering we had to design a booking system using a formal specification tool known as "Z". We went off on a tangent a little with this one. We decided to stuff the existing booking system and designed our own. As an example implementation, we had "Arnie on Rollerblades" (don't ask).

SHANN (Scalable Hardware Architecture for Neural Networks)

For VLSI Systems Architecture and Design we were given a choice of something to specify in the local hardware description language (Modal) and then implement using the local layout tools (ingred, jigsaw, etc.) So we decided to see how far we could get implementing neural nets. We got the Modal specification up and running, with 4 neurons, but it was too much to design in the VLSI. So we completed most of the VLSI design, but putting it together was very tricky and it basically didn't work. Oh well.

UBIWEX (Unix Basic with Extensions for Xwindows)

For Object-oriented systems development we chose to implement a basic interpreter, a la Visual Basic for Unix. We did not get that far in terms of implementing enough of the system for it to be useful, i.e. we implemented while, for, if, text, beep, line, point, but that was about it, but we got the underlying types such as the parser working and talking to each other, and the only reason we did not include those features was a lack of time.

Ray Tracer

I wrote a simple ray-tracer for Computer Graphics. Compared to what you can buy these days, it's nothing, but it was fun writing anyway - to my surprise, I spent hours tweaking input files trying to generate images. You can see some results in my personal art gallery.

Gloves

The biggest project of all: my thesis. This involved writing code for PowerGloves, and messing around with Iris GL (the precursor to OpenGL, a common, high-end graphics programming interface. It also involved hacking Perl, learning LaTeX and half a dozen miscellaneous skills.

Postgraduate

This isn't so much projects I've done for my PhD as done to get away from it.

Botworld

For Artificial Intelligence, we had to write a program in Prolog that would grab bars and assemble them into a diamond shape. This proved to be a lot of fun, especially once we got multiple bots working together to build it.

CaMeL

CaMeL was intended to be an interface design for a distance education program, done for Human-Computer Interaction, a subject, which to be honest, I didn't really enjoy, because it really was too soft, didn't give you enough to do anything really useful with.

RoboGlove


RoboGlove was an attempt to connect a robot arm to the PowerGlove. The robot arm used was Scorbot, a robot arm meant for teaching. What would happen is you would wear the PowerGlove and as you moved the glove, the robot would mirror your actions. Some people around the lab became quite adept at it, one person building a bridge from some blocks that we had left lying around.

Clive

Clive is a robot that I've been building, with a lot of help from Phil Preston in the time I'm supposed to be spending on my PhD.

pix/clive1.jpg

Clive runs on some remaindered rechargeable batteries, and consists of a number of levels. The levels are made from light perspex, hand cut and shaped for this robot. The first level houses batteries, a Tamiya dual-motor gearbox, and the antennae. The antennae are bend sensors that are most frequently used in the PowerGloves I used for my PhD (no I did not pull apart a PowerGlove to get at them).

The next level up houses a 6.270 board (based on the 68HC11 microcontroller) that runs a version of the C language. Also, the charging ports for the batteries are on this level.

Clive is currently undergoing major surgery. He should be up and zooming 'round the lab again soon. When he was operational, he was one of the faster mobile robots.

Disassembly

Whenever Phil has some item that is no longer useful, has ended its career, shuffled off this mortal coil or decided to give up the ghost, he walks over to my desk, gives me a big grin and says, "I have some equipment that doesn't work. Would you like to dispose of it?" He does not mean take it out to the trash. He means disassemble with extreme prejudice.

So I pull the thing to pieces, find out if there's anything reusable in it and put it in our junk box.

This proves to be very therapeutic, especially if you want to do a proper job and not just smash the damn thing to pieces. It's also a great way to learn how things work. So far, I've disassembled:

Several people have suggested I have a knack for it. In fact some have accused me of prematurely disassembling things ... but there's no truth at all in that story.
waleed@cse.unsw.edu.au
Last modified: Thu Apr 16 20:33:26 EST