I was probably at that point several years ago.
I'm going to try to stop now.
Sometime a few weeks ago, I realized just how damn easy it is to interface mechanical devices to computers. If you have a TTL output, you can pretty easily bridge that to a solid state relay, MOSFET, real relay, or some other power actuator. You can fairly simply count pulses on a digital input. The realization that National Instruments doesn't hold a stranglehold monopoly on the digital I/O world helped a lot. I really wanted a USB-DAQ for hobby things, but did not want to pony up the money for one. It turns out, I don't need to.* There are many ways to interface hardware and software. They just don't tell you this when you get a degree in chemistry.**
So, I concluded that my GPS data analysis project is a little bit weenie and that if I wanted to have real fun, I should build a robot. A robot to do what? At first, I considered building one to dismantle hard drives. I enjoy hard drive magnets a great deal, and find uses for all the ones I have, but I sometimes find the process of removing magnets to be time consuming and injurious. I have a fair stack of hard drives to dismember. The were two problems with this project. (1) I would quickly run out of hard drives after the robot worked, and (2) i did not trust some soulless machine wielding a Dremel any more than I trust Charles Manson with a chainsaw at a Boy Scout camp. In fact, the outcomes are quite likely to be very similiar.
The next best thing, of course, was to build a robot to train my dog.
But train my dog to do what?
To hate robots. Of course.
The dog likes to growl and bark at nothing in particular. The punishment for this is the squirt gun. Of course, we cannot always grab the squirt gun in a timely manner, say, when our hands are full of dough. Having a mindless automaton to met out indiscriminate justice on those who bark at nothing-in-particular would be a great aide.
But first, I needed parts. While I know of a few sources of new motors and pumps, and what not, used is fine for this sort of project. Time to scavenge! I went to the local GoodWill and purchased all the remote control vehicles that were missing remote controls. I sincerely doubt the marketability of a non-working toy. If I were a kid, at least a toy should, you know, work. This whole excercise is a bit of a throwback to my childhood, where I scavenged components from garage sale finds (little known fact: 8-track tape players have very high torque motors).
I snagged a couple of gems: a toy with treads, a hummer with a beefy drive box and a wench, and a fire truck with a rotating pedistal, extending ladder, and a real water pump! Score!
The girly said that it looked like Christmas in our living room when she got up in the morning.
I pretended it was christmas morning and unwrapped all that useless plastic from my presents.
For the moment, I must wait a bit to test all the components. I lack basic essentials like gator clips and a soldering iron.
On to thinking about how to find and ultimately shoot the dog. My first idea, which is now bubkis, was to use a video stream and some pattern matching to track and shoot either something that looks like the dog, or something that is simply the blackest object in the room. The problem with this idea appears to be one of available coding time and horsepower. I built a prototype in Igor, but it can only capture and analyze about one image per second, much less search for a pattern. Curiously, this is not due to CPU limitations, but the limitations of the image grabber. I experimented with some edge detection filters, but through up my hands after I found the frame rate unusable.
I think that, unless I can find some other way to get at the video stream that does not require -months- of coding, I will have to take a different approach. Perhaps stereo microphones with a bark/growl search and triangulation routine?
I have only begun to wonder how it will navigate the house.
Real time image processing: mixed bag. |
*I tell people that I am stupid all the time. I am not sure they really believe me. I have countless examples of my own stupidity. It is things like this that should go on my stupid resume.
**If they tell anyone at all
No comments:
Post a Comment
Leave a message after the tone...