A method in a robot of providing hardware abstraction for robot control
software. A plurality of resource drivers for the robot includes resource
drivers for which no corresponding hardware is present on the robot.
Resources that are available on the robot are automatically detected
based a hardware configuration detected for the robot. A request is
received from the robot control software to use a type of resource. A
resource that corresponds to the type of resource requested by the robot
control software is automatically selected. A first information related
to use of the selected resource is provided in a unit of measure that is
related to a robot. A second information related to the use requested by
the robot control software is provided in a unit of measure that is
related to a corresponding device. The method converts between the first
information and the second information based on the detected
configuration of the robot.