A Standardized OS For Robots 184
Hugh Pickens writes "The New Scientist reports that at present, all robot software is designed uniquely, even for parts common to all robots but that could be about to change as roboticists have begun to think about what robots have in common and what aspects of their construction can be standardized, resulting in a basic operating system everyone can use. 'It's easier to build everything from the ground up right now because each team's requirements are so different,' says Anne-Marie Bourcier of Aldebaran Robotics but Bourcier sees this changing if robotics advances in a manner similar to personal computing where a common operating system allowed programmers without detailed knowledge of the underlying hardware and file systems to build new applications and build on the work of others. 'Robotics is at the stage where personal computing was about 30 years ago,' says Chad Jenkins of Brown University. 'But at some point we have to come together to use the same resources.' This desire has its roots in frustration, says Brian Gerkey of the robotics research firm Willow Garage. If someone is studying object recognition, they want to design better object-recognition algorithms, not write code to control the robot's wheels. "You know that those things have been done before, probably better," says Gerkey, who hopes to one day see a robot "app store" where a person could download a program for their robot and have it work as easily as an iPhone app."
Not entirely new (Score:4, Informative)
For a few years, MOOS [ox.ac.uk] has been developed at Oxford University, to separate low-level control issues from high-level issues. It runs on OS X, Linux, and Windows.
There's also IvP [moosivp.org], an autonomous vehicle control system that gets uses MOOS to abstract away the low-level details of controlling the particular vehicle on which it's running.
F.I.R.S.T (Score:2, Informative)
Player/Stage already exists.... (Score:5, Informative)
Right - maybe for research, not industry (Score:5, Informative)
Safety was taken really seriously. When testing, you'd set up a tripwire fence that'd shut the robot down if it were jiggled. Every single person inside that fence had to be holding a deadman switch - let go and the robot shuts down. When I saw one of those suckers casually drag around a 500lb steel table that hadn't been bolted to the floor I got respect fast. Thankfully nobody got hurt, but at a customer site once, a badly-maintained spot welder managed to attach itself to a truck body on an assembly line. The robot kept right on going and literally threw the truck body into the aisle.
Liability's kinda critical for something like that. For unarmed, relatively weak research robots, a common platform makes sense. For higher-powered industrial robotics, this ain't gonna fly.
Microsoft Robotics Studio (Score:3, Informative)
In fact, I've written and demonstrated several programs that will run on a wide variety of robotics platforms without any changes in the base code itself. It's a services based architecture that is extremely flexible.
Bill
Re:Robot Virii (Score:0, Informative)
'Virii'? Fuck you, you're a retard!
Re:Similarities in other industries (Score:3, Informative)
That I think is the reason. Think across a line of printers. Home printers have it somewhat simple (start heating up fuser, monitor temperatures, activate mechanism to feed paper, output data to laser and feed toner, etc). But a corporate printer adds in duplexers, multiple pages in-flight (often when one page is being flipped in the duplexer, the drum is free for another page to be printed, then the reverse side of the page in the duplexer, then the other page if flipped, and another page loaded...), etc. Add in multiple uses of the engine pieces simultaneously (oh, you're printing AND using the ADF to scan in?) and it gets chaotic fast. (Home MFPs often just do one at a time).
Oh yeah, and engine control is an analog process that's highly event driven - you can't activate a motor for X seconds and leave it that that - you have to use sensors to detect where everything is in the process. A piece of paper may take longer to load, or be thicker and the motors feed it in slower... or it's special paper and requires special handling. And maybe the first sheet is special, the rest in flight are normal, or another paper tray is to be used, etc.