I figure, what's the most basic robot I could make and program. And how cheaply can I do it. It'd need to rule out a great many of the challenges and only offer a few of them in one go, to maximise the chance of an initial success... nothing succeeds like success, after all. So, I chatted with Nathan, and formulated this as a project plan. Without going into all the reasoning and background research as to why this is the path I've chosen (until further information requires a modification):
Project 1
Purchase an ultracheap radio control car, one that uses a remote control unit that uses microswitches.... buttons switching left-right forward-back, instead of the levers, which drive potentiometers.
Then, I get a USB to Parallel port cable. I pull open the remote control unit, and pull open the parallel port, and hook up the parallel port to the microswitches. I should be then able to drive the switches by sending bytes to the parallel port. This allows me to control the car. In my first version, I'll drive the remote control unit by pressing arrow keys on the keyboard.
This isn't anything new... it's more to build my own skill base.
Project 2
Connect a USB Camera to my computer, and have it monitor the position of the car. Have software analyse the video image and control the car, to do such things as navigate a course.
Project 3
Move to a different model RC car, one that uses levers in the remote control unit. This'll mean it uses potentiometers, which require proportional control instead of a simple on-off command. To control these, I'll use digital potentiometers, which are hooked up via an I2C bus to a BeagleBoard. I've got a lot to learn about embedded systems before this'll be achievable, I've bought a book on embedded systems that I'll be studying as I work my way up to this one.
Project 4
Put sensors on the car, and find a way to get that information back to the software controlling the car. Video camera, ultrasound, infrared, accelerometer + gyro, gps, and whatever else is interesting and useful.
Project 5
Try some different machines, especially airborne ones, starting out with helicopters.
Project 6
Have multiple machines, and have them communicate with each other to do such things as collision avoidance, or cooperation in attaining a goal. The idea being, get these things to swarm.
Project 7
Look at what needs to be done to shoehorn all the electronics onboard each vehicle, making them autonomous. This'll require a lot of optimisation of the software, to make it run on the limited hardware that will be available, something I want to leave until last.
If I can get all of that happening, I'll be reasonably confident of being able to tackle the basic problems that the next phase of projects will involve:
Legged robots and balance
Wheels are good for nice flat surfaces, very efficient and high speed, but they're easily defeated the moment you step (hah) out of an artificially controlled environment. Legs will be necessary, in lieu of antigravity devices...
Manipulators
There are a lot of things a good set of hands make possible. Every robot that is more than a mobile sensor platform could use these.
and the following phase:
Artificial muscles
This'll be the crowning glory if we get it working.
And the final part, not really robotics-specific, but important:
Power
This is the thing that holds many inventions from being viable: No suitable power source to make it viable.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment