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.
Sunday, 24 May 2009
Robotics
I'm not unique in my fascination with robotics. Over the years, various aspects have intrigued me, from the control systems, to the motive systems, to communications between them, and to various applications. Recently, I've been discussing with Nathan about one project I'd like to make a reality.
The goal is to build up experience and expertise in the design and implementation of real robots. In the initial phases of this particular foray into robotics, I wanted to make a battlemech. This required artificial muscles, as other motive systems have too many limitations. Electrically Activated Polymers, or EAPs, appear to be the closest to the artificial muscles used in the Battlemechs, and offer the most promise.
Over discussions with Nathan the idea evolved somewhat, into a robot that can act as a search-and-rescue robot for recovering people trapped in collapsed buildings and other disasters, amongst other functions. The robot would have four modes:
1) Exoskeleton. A pilot gets inside the machine and controls it like his own body, and the robot acts like a suit of powered armour.
2) Remote. A pilot gets inside a cockpit which remotely controls the robot, projecting its sensors to the cockpit, so the pilot can take the robot into dangerous situations without putting his own life at risk.
3) Autonomous. Given a set of parameters and a goal, the robot works towards these goals.
4) Passenger. Either using the same recess a pilot would use but deactivated so they don't control it, or a specially made passenger unit, the robot can take someone inside its chassis to protect them from the environment as it moves them to safety.
Reviewing the current state of EAPs, to make such a robot a reality is going to take a lot of money and a lot of innovation and experimentation... the current EAPs are very expensive and it's not very clear what their capabilities are... they're just not there yet. No surprises there... but without having huge amounts of capital to throw at such a project, I cast about for another aspect of the robot problem to focus on first.
The goal is to build up experience and expertise in the design and implementation of real robots. In the initial phases of this particular foray into robotics, I wanted to make a battlemech. This required artificial muscles, as other motive systems have too many limitations. Electrically Activated Polymers, or EAPs, appear to be the closest to the artificial muscles used in the Battlemechs, and offer the most promise.
Over discussions with Nathan the idea evolved somewhat, into a robot that can act as a search-and-rescue robot for recovering people trapped in collapsed buildings and other disasters, amongst other functions. The robot would have four modes:
1) Exoskeleton. A pilot gets inside the machine and controls it like his own body, and the robot acts like a suit of powered armour.
2) Remote. A pilot gets inside a cockpit which remotely controls the robot, projecting its sensors to the cockpit, so the pilot can take the robot into dangerous situations without putting his own life at risk.
3) Autonomous. Given a set of parameters and a goal, the robot works towards these goals.
4) Passenger. Either using the same recess a pilot would use but deactivated so they don't control it, or a specially made passenger unit, the robot can take someone inside its chassis to protect them from the environment as it moves them to safety.
Reviewing the current state of EAPs, to make such a robot a reality is going to take a lot of money and a lot of innovation and experimentation... the current EAPs are very expensive and it's not very clear what their capabilities are... they're just not there yet. No surprises there... but without having huge amounts of capital to throw at such a project, I cast about for another aspect of the robot problem to focus on first.
So I kind of left that last post hanging, I guess. I made it up to Singleton at around 10pm, shivering violently with cold... nobody told me winter was coming! Fortunately my hotel room had a spa bath and a nice long soak in there sorted me out. I've since switched to full leathers, it is too cold riding around for the kevlar jeans anymore.
I've since ridden up to Port Stephens and back, but haven't been on any longer rides than that yet. I'm thinking I'd like to do a ride around Australia, but I have a few obstacles to overcome before I can consider that:
1. I need a bigger bike. I'm riding a 125 currently, which is great around town, but when it comes to the highways it's a bit dangerous. It'll do 110kmh on a flat road, but on an incline it'll drop to a maximum of 100... then add a headwind and it'll drop to 90... at which points trucks are overtaking me and cars are swerving around me if they don't have plenty of lanes to pick from. I also cannot speed up quickly to overtake someone that is going slowly, when the opportunity presents itself... it's a slow process, and needs planning ahead and a long opportunity, and if they speed up while being overtaken (as seems to be common behaviour), that draws it out even more. I need a bigger bike for serious highway travel.
2. I need a more comfortable bike. I'm on a Honda CBR125R, which has a street bike riding position, perched on top and leaning forward. After 90 minutes I start to get stiff arms, a sore back, sore wrists. I think a cruiser would be more comfortable.
3. I need the time off. It takes something like 6 weeks to travel around Australia, and that's being fairly frugal with time off to smell the roses. 6+ weeks off from work in one go will be tricky to negotiate, and won't be happening just now. There's too much on and not enough time to do it in.
4. I need experience. Never having ridden longer than 3 hours in one go, or 6 hours in one day, I need more experience for what happens on long distance rides, and how to handle them. Some warmup runs would be a good idea methinks.
5. I can't get a bigger bike until we have a bigger place to keep it. Right now, the single garage will just fit the bike and car together, and they can be pulled out independently. Anything bigger will require a lot more shifting around of vehicles, and I'd prefer to have a larger spot for doing that, to save them both. So, it waits until we move.
I have a plan though. We'll move into a place with more room, I'll get a bigger bike, and do a smaller tour... my current thought is:
Down from Sydney to Melbourne along the coast
Around to Adelaide
Up to Uluru
Back to Sydney across the middle
No idea how feasible this is just yet, but I'll research the possibilities. I'm thinking a Honda VT750 Shadow Aero, I really like the look of the bike and it has received positive reviews.
Besides a few trips to inner NSW, I've never really seen the interior of Australia, and while we're here I'd like to do so. This is one way of doing that, I think.
I've since ridden up to Port Stephens and back, but haven't been on any longer rides than that yet. I'm thinking I'd like to do a ride around Australia, but I have a few obstacles to overcome before I can consider that:
1. I need a bigger bike. I'm riding a 125 currently, which is great around town, but when it comes to the highways it's a bit dangerous. It'll do 110kmh on a flat road, but on an incline it'll drop to a maximum of 100... then add a headwind and it'll drop to 90... at which points trucks are overtaking me and cars are swerving around me if they don't have plenty of lanes to pick from. I also cannot speed up quickly to overtake someone that is going slowly, when the opportunity presents itself... it's a slow process, and needs planning ahead and a long opportunity, and if they speed up while being overtaken (as seems to be common behaviour), that draws it out even more. I need a bigger bike for serious highway travel.
2. I need a more comfortable bike. I'm on a Honda CBR125R, which has a street bike riding position, perched on top and leaning forward. After 90 minutes I start to get stiff arms, a sore back, sore wrists. I think a cruiser would be more comfortable.
3. I need the time off. It takes something like 6 weeks to travel around Australia, and that's being fairly frugal with time off to smell the roses. 6+ weeks off from work in one go will be tricky to negotiate, and won't be happening just now. There's too much on and not enough time to do it in.
4. I need experience. Never having ridden longer than 3 hours in one go, or 6 hours in one day, I need more experience for what happens on long distance rides, and how to handle them. Some warmup runs would be a good idea methinks.
5. I can't get a bigger bike until we have a bigger place to keep it. Right now, the single garage will just fit the bike and car together, and they can be pulled out independently. Anything bigger will require a lot more shifting around of vehicles, and I'd prefer to have a larger spot for doing that, to save them both. So, it waits until we move.
I have a plan though. We'll move into a place with more room, I'll get a bigger bike, and do a smaller tour... my current thought is:
Down from Sydney to Melbourne along the coast
Around to Adelaide
Up to Uluru
Back to Sydney across the middle
No idea how feasible this is just yet, but I'll research the possibilities. I'm thinking a Honda VT750 Shadow Aero, I really like the look of the bike and it has received positive reviews.
Besides a few trips to inner NSW, I've never really seen the interior of Australia, and while we're here I'd like to do so. This is one way of doing that, I think.
Subscribe to:
Posts (Atom)