Linux-Controlled Segway Robot
ptorrone writes "It was just a matter of time until the Segway technology would be used as a robotics platform. University of Southern California Robotics Lab's Segway RMP (Robotic Mobility Platform) has a lot of great information if you're looking to convert a Segway to a robot. On the site there are videos as well as instruction on how to build your own." Update: 07/13 21:30 GMT by T : Dr. Andrew Howard writes with an important clarification about the project: "This is *not* a standard Segway HT that we have
converted to robotics applications. Rather, this is a customized, limited
production unit that has been specially modified by the manufacturer.
The web-site does *not* show how to convert an existing Segway HT into a
robotic platform."
Yeesh. Build your own balancing bot and have at it. This isn't even a hack worthy of mention - it's more like a Segway sales pitch targeted at overbudgeted academics with too much time on their hands.
Seriously, though. Why would you use a Segway instead of, say, a four-wheel RC car?
Because it is easier to model and control the segway. Think of it this way: You have a robot based on the segway, and one based on a 4-wheeled rc car. They are both pointing north. Consider how much easier it is to get the segway to point south, while maintaining the same position (Just changing orientation). If the RC car had differential steering (like a tank), then yeah, you don't need a segway.
If you look at most lab grade wheeled/tracked robots, most all have differential steering. What the segway based version has going for it is that it maintaines a constant vertial orientation--it is a stabilized inverted pendulum: It's always "righted" or "pointing up." (Well, in cases where the wheels are at the same Z, anyway.)
From the computer vision point of view, this is really nice to have. If you had a camera mounted on any other type of robot, and wanted to visually point "out" at something, you'd need to measure the changing orintation of the robot as it clambered over objects or moved up and down hills. The most common way of doing this is to put a gyro or other angular rate sensor or inertial reference unit on the robot base, and then feed-forward the dynamics of the base to a pan/tilt type mechanism to move the camera. (All the extra work & crap required to do this would offset the cost of buying the segway, by the way...) Alternatively, you could close a loop around a video tracker to adjust pan/tilt, but that's been done before, too.
What would be really cool would be to stabilize the segway in 2 angular degrees of freedom. Then, a vision system could be decoupled--easily-- from the robot platform in roll & pitch.(An additional single axis rotation stage could offload any yaw.)