A Standardized OS For Robots
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."
That's all we need....a standardized API to allow malware writers access to robots...
seems obvious
This is not the greatest
Though I will worry when the most purchased robot app is "machinegun control".
I will worry more when this project leads to a situation in which there is little or no diversity in the robot OS. Then the outsiders will be like us Linux users today, but worse off.
"Oh, you use Debian instead of Windows For Robots? We don't serve your kind here"
Thank for reading to the sig. You may stop reading now. It is safe. There is no more content. Why are you still reading?
It's a hard problem, I've also worked on for the last several years. You're combining research problems in AI, computer vision, localization/mapping, motion planning, human interaction, etc.; each of which demands high end hardware to run its computations, but then you want to do it on mobile platforms with tight constraints on power and sensors.
Then in order to modularize things you have to come up with a generic interface for each piece in order to abstract it. I think this aspect in particular kills reusability, because these pieces are all so interdependent. Each module needs internal state from the other modules to interpret its own data, and depending on the implementation used for each module and the actual robot hardware it's running on, some types of data may or may not be available, and some outputs may or may not be possible. It's a combinatorial explosion of different capabilities, which leads many people to write to their current hardware and their own specific implementations.
I entirely agree to make progress we need to address this issue. Asking every researcher to reinvent the wheel in all of the related fields before they can work on their own piece is ludicrous. And it doesn't help that many implementations are very sensitive to robot specific parameters, so even if a research publishes his code for a problem (which IMHO should be part-and-parcel of publishing results), you might still have a hard time running it on different hardware where sensor or motor models differ or may not even apply.