A couple of years ago I brought a NSLU2 (Aka The Slug), a small network attatched storage device that runs on Linux. This group http://www.nslu2-linux.org/ have done a lot of work hacking the system so you can use it for pretty much what you want. My original device is used as a music server, running TwonkyVision.
Recently I brought another one and instead of running off a USB hard drive it runs off a 1GB usb key, really cool. I now have a little linux box that fits in the palm of my hand and could potentially be truly portable, just add a battery. It gets better, Ruby runs on it, in fact people have installed RoR on it, but that really did slow it down. Ruby however runs fine, I've installed it, written a few programs and it all seems to work just fine.
What am I going to do with my RubySlug (See what I did there?)? Well I'd like to turn it into Ruby the RoboSlug!!! The kid in me thinks that Robots are really cool, and my past academic experience thinks that AI is pretty neat so I have a plan.
Make a robot, with motors, sensors etc, use a PIC microcontroller to capture the information from the sensors and to drive the outputs (motors etc). I'm not going to let the PIC do any of the decision making, i'm going to do that with the Slug. The Slug will be fitted with a USB to Serial adapter which will be linked to my PIC board. Ruby will receive information on the state of the inputs via the serial port and send commands back to the PIC board to control the outputs. Initialy I'll use very traditionaly fixed rules for controlling the robot, but I'd like to eventually get the robot to adapt to its environment and make up it's own rules.
I'm not sure the project has any use other than personal interest. Although it will be interesting to see what actually happens to the code. It will be interesting to see if the computer generated code is very different from what I'd come up with if I was designing the code in a traditional manner.
Well there's a lot of things to get together before I get to this point.
- Learn Ruby
- Learn how to program PICs, (It's a long time since I've programmed any microcontroller)
- Design and build the hardware, (My electronics is equally rusty)
- Get the Robot talking with the Slug
- Get the Slug controlling the Robot
- Investigate the current research on AI
- Design and code a self modifying system
- See what happens.
Labels: AI, Electronics, Linux, nslu2, Pic Microcontrollers, robotics, ruby