Patent US3391471A successfully refreshed from Google Patents.
Patent US6889118B2 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6889118B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Hardware abstraction layer for a robot

Assignee: FUTURE VISION HOLDINGS Inc
•
Filing: 2002-11-27
•
Granted: 2005-05-03
•
Expires: 2022-11-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract 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 uniform abstract for aggregates of underlying hardware such that the underlying robotic hardware is transparent to perception and control software, i.e., robot control software. This advantageously permits robot control software to be written in a robot-independent manner. Developers of robot control software are then freed from tedious lower level tasks. Portability is another advantage. For example, the HAL efficiently permits robot control software developed for one robot to be ported to another. In one example, the HAL permits the same navigation algorithm to be ported from a wheeled robot and used on a humanoid legged robot.

Inventors

  • 👤 Thomas J. Murray, IV
  • 👤 Baoquoc N. Pham
  • 👤 Paolo Pirjanian

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 14:45
CPC Classifications
G; G05; G05B; G05B19/00; G05B19/02; G05B19/04; G06; G06N; G06N3/00; G06N3/004; G06N3/008; B; B25; B25J; B25J9/00; B25J9/16; B25J9/1602; B25J9/161; B25J9/1656; B25J9/1661; B25J9/1664; B25J9/1666; G05D; G05D1/00; G05D1/0088; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/455; G05B2219/00; G05B2219/30; G05B2219/40; G05B2219/40389; G05B2219/40397; G05D2101/00; G05D2101/10; Y; Y10; Y10T; Y10T436/00; Y10T436/11

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 211 words
A method in a robot of providing hardware abstraction for robot control software, the method comprising: providing a plurality of resource drivers for the robot, where the plurality of resource drivers includes resource drivers for which no corresponding hardware is present on the robot; detecting a hardware configuration for the robot; automatically detecting resources that are available on the robot based on the detected hardware configuration; receiving a request from the robot control software to use a type of resource; automatically selecting a resource from the available resources that corresponds to the type of resource requested by the robot control software; exchanging a first information with the robot control software, where the first information is related to use of the selected resource and is provided in a unit of measure that is related to a robot; exchanging a second information with a low-level device driver corresponding to the resource, where the second information is related to the use requested by the robot control software, where the second information is provided in a unit of measure that is related to a corresponding device, and where the second information is different than the first information; and converting between the first information and the second information based on the detected configuration of the robot.
Claim 2
Independent Claim 211 words
A method in a robot of providing hardware abstraction for robot control software, the method comprising: providing a plurality of resource drivers for the robot, where the plurality of resource drivers includes resource drivers for which no corresponding hardware is present on the robot; detecting a hardware configuration for the robot; automatically detecting resources that are available on the robot based on the detected hardware configuration; receiving a request from the robot control software to use a type of resource; automatically selecting a resource from the available resources that corresponds to the type of resource requested by the robot control software; exchanging a first information with the robot control software, where the first information is related to use of the selected resource and is provided in a unit of measure that is related to a robot; exchanging a second information with a low-level device driver corresponding to the resource, where the second information is related to the use requested by the robot control software, where the second information is provided in a unit of measure that is related to a corresponding device, and where the second information is different than the first information; and converting between the first information and the second information based on the detected configuration of the robot.
Claim 3
Dependent Claim 22 words
The method as defined in claim 1 , where the first information is linear velocity and the second information is angular velocity.
Claim 4
Dependent Claim 19 words
The method as defined in claim 1 , wherein the method is embodied in an application program interface (API).
Claim 5
Dependent Claim 48 words
The method as defined in claim 1 , wherein the type of resource comprises a distance sense, and wherein the resource that is selected correspondS to a device selected from the group consisting of a bump sensor, a laser range finder, an ultrasonic sensor, and an infrared sensor.
Claim 6
Dependent Claim 76 words
The method as defined in claim 1 , wherein the robot initially includes a bump sensor, and wherein the hardware configuration for the robot specifies the bump sensor, further comprising: changing the bump sensor to an infrared sensor; changing the hardware configuration for the robot; and automatically converting between the first information and the second information based on the new detected configuration of the robot such that the robot control software can be used without modification.
Claim 7
Dependent Claim 40 words
The method as defined in claim 1 , further comprising: including a security parameter with a method call; verifying a security ticket when access is requested to a resource; and controlling access to the resource based on the security ticket.
Claim 8
Dependent Claim 34 words
The method as defined in claim 1 , further comprising: maintaining a reservation count parameter that is updated based on access to a resource; and controlling access to the resource based on the count.
Claim 9
Dependent Claim 206 words
A computer-readable medium having computer-executable instructions for performing a method comprising: providing a plurality of resource drivers for the robot, where the plurality of resource drivers includes resource drivers for which no corresponding hardware is present on the robot; detecting a hardware configuration for the robot; automatically detecting resources that are available on the robot based on the detected hardware configuration; receiving a request from the robot control software to use a type of resource; automatically selecting a resource from the available resources that corresponds to the type of resource requested by the robot control software; exchanging a first information with the robot control software, where the first information is related to use of the selected resource and is provided in a unit of measure that is related to a robot; exchanging a second information with a low-level device driver corresponding to the resource, where the second information is related to the use requested by the robot control software, where the second information is provided in a unit of measure that is related to a corresponding device, and where the second information is different than the first information; and converting between the first information and the second information based on the detected configuration of the robot.
Claim 10
Dependent Claim 206 words
A computer-readable medium having computer-executable instructions for performing a method comprising: providing a plurality of resource drivers for the robot, where the plurality of resource drivers includes resource drivers for which no corresponding hardware is present on the robot; detecting a hardware configuration for the robot; automatically detecting resources that are available on the robot based on the detected hardware configuration; receiving a request from the robot control software to use a type of resource; automatically selecting a resource from the available resources that corresponds to the type of resource requested by the robot control software; exchanging a first information with the robot control software, where the first information is related to use of the selected resource and is provided in a unit of measure that is related to a robot; exchanging a second information with a low-level device driver corresponding to the resource, where the second information is related to the use requested by the robot control software, where the second information is provided in a unit of measure that is related to a corresponding device, and where the second information is different than the first information; and converting between the first information and the second information based on the detected configuration of the robot.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2008-05-02 2008-11-01 2009-05-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2012-05-02 2012-11-01 2013-05-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2016-05-02 2016-11-01 2017-05-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag