Awk: the unix duct-tape
AWK is a great language and I have found it to fit perfectly to the needs of managing my research data. I have made some of my AWK scripts and lecture notes available online. While these are simple scripts for the most part, they sure beat mucking with huge excel files. Why duct-tape? Well you can use it to fix anything quickly, it is great for fitting pipes together, and if you build anything too complicated out of it you will wish you hadn't.
Fun with Robots
As an engineer, I love taking things apart. Of course, when you are putting your stuff back together you might as well add some features... such as as more processing power. More and more toys are built with some sort of processing or electrical interface built in, and hacking a well designed toy to do something new is a great way to avoid working on your thesis. When I get a bit more time I will try to post some of my schematics, but for now I just have a short description of two of my toy hacking projects.
The Track-bot: A wire controlled excavator turned robot
This robot started out as a wire controlled toy excavator. I started by unscrewing the toy cabin and arm completely leaving me with just the tracks and some random plastic bits poking up. I used a saw on the plastic bits, creating a flat base onto which I could mount a project box. The toy was controlled by a wire remote with a couple of switches and some D batteries. Dealing with the batteries was the trickiest bit. I mounted them in a battery case inside the box used a series of Darlington transistors to switch them on and off based on the my control system (discussed in the Leg-bot). The bot can go forward and turn, but it has problems on my shag carpet because I didn't have enough darlingtons to build the backwards control circuit. This means that to turn, you just turn one track on and leave the other one off. The problem is that on thick carpet the drag on the stationary track is enough to stop the bot from turning.
A couple of things that I learned from this project are: a) that wire controlled systems are easy to reverse engineer, but b) that they are not built to carry the weight of the batteries (which are normally in the remote) which can cause problems and c) that wire controlled systems typically use physical switches to control the motor current which when removed can cause design difficulty.
The Leg-bot: An insect toy with a brain
One of the next projects I started on was to build a robot with legs. I started with a IR controlled bot from tekno called the Battlin' Scarab. It is actually a great platform from which to work; with two independently controlled motors, and a clean interface from the IR receiver to the motor control. I basically just pulled out the IR receiver board and decoded the pin-in to the system.
To control the beast I used a small 8-bit processor from Rabbit Semiconductor. I am very impressed with their product, I found that their development board was cheap (<$100), their processor was sufficiently fast (my demands were low), and their software environment was quite useful. I hooked up the processor to a 9-volt and grounded it against the rest of the system. The processor boards (the two boards on the top of the bot) control the movement of the legs directly through the output data pins. The control is based on an IR wall finding circuit at the front of the bot (actually it is the back, but it was easier to make the thing always walk backwards). The IR board (the brown one) uses a IR emitter, an IR receiver, and an RC timing circuit to determine if a wall is present based on reflected IR light. It works really well unless you have black walls :)