You can buy inexpensive robot platforms, but they're small - there's a reason for this. Heavy, powerful components cost real money and someone has to make margin selling them to you, given they paid margin to buy them. High power and high current control systems (motor drivers, motors, etc.) are more difficult and expensive to design than small, low-power units.
But, there's nothing stopping you from seeing a design you like, and making it from the raw parts, except a lack of tools (in most cases).
> a simple little robot platform moving around my house sensing tape on the floor. Even that will cost me $1000
Huh? You can buy line-following robot kits on Amazon for $30, and there are even cheaper ones out there.
> When can I build a robot that will perform real, useful automation that will improve my life, even in some marginal way, not just seem like a cool toy? How can I build a robot that will fetch me a beer or let the dog out or get the mail or something even minor that will make me feel like I am doing something with purpose and a real goal and not a homework assignment to get a robot to perform some meaningless task.
Right now, buy some motors, buy some metal stock, bearings, shaft, pulleys, etc. and start designing a machine around them. Long before you get to the algorithms of running a robot, there are the physics of it, the basic electronics knowledge, and the design and machining.
> What are some robotics projects that I can build and learn from while and actually use and enjoy, today, relatively cheaply?
Small robotic arms are cheap these days - OWI and Lynxmotion make fairly inexpensive arms for learning, small wheeled bases like the Dagu Wild Thumper can carry a small arm for around $250, and are well regarded. You can throw an Arduino or Raspberry Pi in for control put together a Lynxmotion arm and a Dagu base, and for less than $600, you have a platform that can lift small objects and move them around. When you want bigger, make it yourself from what you've learned.
This is very much a need. The Turtlebot is a low-cost ($1300) way to get a lot of functionality out of the box, though the lack of manipulator does limit what you can accomplish.
If you (or your lab/company) does have a five-figure budget for hardware, there are a number of very attractive off-the-shelf options which exist to prototype on: http://wiki.ros.org/Robots/#Portals
(Disclosure: I work for Clearpath Robotics, which design and manufacture several of the machines on that page.)
That's what membership in your local fablab is for.
Give it 5 years though and I can see home kit manipulator, teachable robot kits that you could program to maybe water the plants or dry some dishes.
There is the hexbug spider which makes a nice, hackable beginner platform (http://www.amazon.com/HEXBUG-Hexbug-Spider-colors-vary/dp/B0...) with the addition of an arduino nano.
The kilobots are also cool (http://www.eecs.harvard.edu/ssr/projects/progSA/kilobot.html), and an even smaller, cheaper robot (http://www.hizook.com/blog/2011/09/08/infrared-remote-contro...) using the same principle of locomotion.
But there is a real gap here: You probably don't have any problems that a simple robot would fix. You can buy a Roomba if you want. The killer app for robots is the autonomous car, and that is coming. No one has figured out what you want a robot for in that huge gap. Heartland has a nifty $20K robot that will do light handling tasks. You still don't want one.
If you can think of a robot version of the little software projects, good on you.
I think they will both be extremely big changes in different ways. Autonomous cars will be one big impact that indirectly touches many industries. Robots are going to get into everything, and the world will look very different at the end of it.
Robots will do farming, cleaning, food preparation, fire rescues, surgery, manufacturing. Basically, whatever parts of the world software can't eat, robots probably can.
A cheap, robust robot hand/arm would go a long way towards making this kind of robot-hacking accessible, but the bigger obstacle is that the generic computer vision building blocks that you'd need don't really exist yet (OpenCV is a good start)
The problem is that many tasks that seem simple (when you take millions of years of visual system evolution for granted), for example recognizing a sock in a pile of laundry, turn out to be pretty difficult.
On top of this, if a robot is doing the work it doesn't have to be the most efficient. Do it in stages... sort by weight or rough shape. Then a second pass does the "is this a shirt or pants" computation. Then sort those piles. Finally come back to "pairing socks". Or don't. It's already saved me a bunch of effort! Let someone else figure out what to do with a pre-sorted pile and I'll just add the firmware or another stage robot. It feels very "hacker ethic" to me!
Check out the videos on that page. There are a lot of obstacles to inexpensive robotic manipulation; the main ones are power-weight ratio and power-cost ratio of the actuators.
I agree that there is a real gap there - so a great contribution would be to fix the gap!
Compare hardware hacking. Until the last few years, it was pretty darned hard to get into. There have always been kits - e.g. the basic stamp, but they felt toyish. Lately though through a combination of Arduino, the explosion of hackerspaces, globalization allowing cheap and easy board design, and murky social forces entering the DIY electronics world has become a real thing. Gaps are being filled in at an impressive rate now... People are using Arduino to fix stuff that would have been a major project 10 years ago! Yes Arduino still has a tendency to feel like a toy (but less of one than a basic stamp), and, there are lots of projects that fill the space between it and DIY pocket computer... look at RaspberryPI or Beagle for examples - you can do a really good control system with them, python and minimal hardware knowledge.
So I suggest to you or anyone who wants to fill the gap - try to invent the Arduino of robotics kits. On your side there are several nice factors: easy access to 3d printing, widespread knowledge of the electronics parts listed above. Halfway decent free modeling packages (although engineering and simulation software may need some love). The opportunity is ripe!
Two reasons why I think the gap between getting started and being able to build something useful exists is that robot parts are still much more expensive than we expect them to be and the fundamentals of robot movement are much more difficult to learn than we expect them to be. Unfortunately, I think those two factors discourage a lot of engineers early on and is why the size of this community is so small.
I feel very fortunate that I have a Kuka YouBot to hack on. The company I'm trying to get started with two friends wrote a proposal that got accepted into the sponsored track of a competition Kuka is running. (http://www.kuka-labs.com/en/network/innovationaward/) After setting it up, it's clear why this is a 20,000€ robot. But before you can actually DO anything useful with it, you have to be able to understand kinematics and dynamics as well as how to get path planners to talk to controllers. And then the really powerful stuff becomes possible once you incorporate computer vision, which is also not an easy topic to understand. It not surprising that most of this work is being done at universities by grad students.
The state of ROS today feels a lot like what Linux felt like to me back in the late 90's. There are lots of issues with dependencies and programs not compiling correctly. Documentation is severely lacking. But there's lots of enthusiasm from very friendly people to help each other work to make things better.
What makes me worry is that many of the advances in ROS came from Willow Garage and Google is buying up many of the companies that spun out of Willow whereas a lot was made possible in computer vision due to the sensors made by PrimeSense, which was just acquired by Apple. I hope the Google vs Apple rivalry doesn't slow the pace of progress in open source robotics that was making the dawn of non-industrial robotics seem not so far away.
Extension projects : for instance, if one has a quadcopter and a go-pro, then the next problem is figuring out a cheaper gimbal mount (using BLDCs and a micro-controller/gyroscope).
There are prosumers making these types of robotics projects in their garages/local hackerspaces. There are many online forums where people sharing their builds as well, and many times these builds are actually used in production situations.
Also a high-quality robotics platform in no way needs to cost $1000. If you're on a budget just go to a local hobby shop, spend $100 on a chassis + wheels + motors and order some $0.10 sensors online.
For this reason, I expect the "personal robot revolution" to occur at the nexus of wealthy/non-litigious. I'm not quite sure where that is maximized on earth at the moment, but I'm quite certain its not the USA. (My current bet is Chinese cities)
turtlebot is like $2k, for example:
I built an optical feedback robot arm for under $100 [1]. At work I use a robot where an individual sensor costs $100,000
The algorithms are much the same though. Doing control on cheap hardware is more challenging, so if you can do something on cheap hardware, you really have done something noteworthy! Expensive hardware pays for reduction of noise, it treats the symptoms of reality but does not solve them.
To truly solve the robotics issue of environmental noise, you have to solve it in software which is really hard but can be investigated cheap on cheap hardware. Robot projects fail because of software, not hardware normally. You should always build the software stack before spending lots of money on hardware.
[1] http://edinburghhacklab.com/2013/05/robotics-adaptive-contro...
Here are some cheap ideas:
1. Improve the robot arm control I outlined above. There is a huge market for cheap robot arms you could scale the ideas prototyped in [1] upto.
2. Active face recognition, put a camera with a zoom on a pan and tilt. Try to zoom into peoples faces for better recognition. Animals exploit shitty eye hardware with active attention in a way our current robots don't exploit.
3. voice activated inventory system for electronic components. Every hackerspace can't find the components they own. Popout a component tray via a push gantry behind it.
4. 3D hardware localization system. Actually determining the position of something is hard. Its the building block for gather training sets to do more challenging problems
The next generation will probably be playing around with $50-100 robotic toys analogous to today's Raspberry Pi.
There are advances out there, but as long as one can't buy a strand of synthetic muscle for a few dollars it's not going to progress that much.
Also, there are shape memory alloys and they are essentially a strand of synthetic muscle for a few dollars. You could concievable bundle them together to make a larger muscle, but you will probably have to do some active cooling if you want any sort of decent response curve and even then motors can be a lot faster.
What I think we could really do with is a linear actuator with a simple built in clutch that doesn't take power to hold a position.
You're absolutely correct re clutching actuators. There are a lot of robotics projects out there that combine small devices with limited mobility to create a larger (multicellular) robot with higher mobility. All of these projects stumble on that particular aspect: maintaining a lock without consuming power. M-Tran, Symbrion, Distributed Flight Array, ...
http://arduino.cc/en/Reference/Stepper?from=Tutorial.Stepper
http://arduino.cc/en/reference/stepper
http://learn.adafruit.com/adafruit-arduino-lesson-16-stepper...
this analogue doesn't seem to be there for learning robotics. if I hack on a robotics project, it feels like it's going to be more of a toy or a demo, and it is self contained and not something that I can share with others to use. sure, I can spend time getting a robot to solve a simple puzzle, navigate a maze, or whatever, but these types of projects seem so less motivating compared to the types of things that got me into coding in the first place: things I could share with others and that they would enjoy using. Are there projects like this? What are some robotics projects that I can build and learn from while and actually use and enjoy, today, relatively cheaply? I want to learn this stuff but it feels very forced to find that most projects seem very academic in nature and not "shippable" like even the most basic toy projects I did when starting out.
I went through Thurn's self-driving car class and started the mobile robot control course on Coursera, but the apex of these is at best a simple little robot platform moving around my house sensing tape on the floor. Even that will cost me $1000, in practice I will probably end up with just a simulation on my PC. Mindstorms looks cool but almost by definition it is just a toy. When can I build a robot that will perform real, useful automation that will improve my life, even in some marginal way, not just seem like a cool toy? How can I build a robot that will fetch me a beer or let the dog out or get the mail or something even minor that will make me feel like I am doing something with purpose and a real goal and not a homework assignment to get a robot to perform some meaningless task.