Methods and apparatus that provide a hardware abstraction layer (HAL) for a robot are disclosed. A HAL can reside as a software layer or as a firmware layer residing between robot control software and underlying robot hardware and/or an operating system for the hardware. The HAL provides a relatively...http://www.google.com.au/patents/US7302312?utm_source=gb-gplus-sharePatent US7302312 - Hardware abstraction layer (HAL) for a robot