The USC Center for Robotics and Embedded
Systems published an interesting dissertation by Evan Drumwright
titled "The Task
Matrix: A Robot-Independent Framework for Programming Humanoids"
(PDF format). In the paper, Drumwright attempts to separate humanoid
robot tasks into robot-dependent and robot-independent tasks. The goal
is to improve software reuse by identifying a primitive task set for
humanoids that allow a broad range of higher level tasks. He also
provides an example of an XML posture description language. For more,
see Drumwright's Task Matrix
webpage, which includes videos of
simulated robots expressing various postures and movements.
... is made by a recent spin-off at Edinburgh University, called Edinburgh Robotics. Their
application suite DevBot is
built on a custom made embedded operating system (DevBot OS) supporting
a wide range of hardware. It is built on a real-time capable Linux 2.6
kernel, which should guarantee easy integration with open-source software.
Does anybody have any experience with this platform?
Pyro is an excellent Python based framework which separates
robot dependent and independent aspects of code in "Robot" objects and
"Brain" objects. I have for instance, run the same code on an AIBO, a
Mindstorms RCX and a simulated robot all with very different
characteristics.
Microsoft is also making some effort in their Robotics Studio to allow
for robot-robot independent programming. I can't personally evaluate how
well it abstracts robot details having only briefly experimented with it
but it is partially derived from Pyro.