IP Library Granted Patent US 7,584,020
Granted Patent B2
US 7,584,020 · App. 11/428,646 · Granted Sep 1, 2009

Occupancy change detection system and method

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,584,020
App. No.
11/428,646
Granted
Sep 1, 2009
Kind
B2
Abstract

A robot platform includes perceptors, locomotors, and a system controller. The system controller executes instructions for producing an occupancy grid map of an environment around the robot, scanning the environment to generate a current obstacle map relative to a current robot position, and converting the current obstacle map to a current occupancy grid map. The instructions also include processing each grid cell in the occupancy grid map. Within the processing of each grid cell, the instructions include comparing each grid cell in the occupancy grid map to a corresponding grid cell in the current occupancy grid map. For grid cells with a difference, the instructions include defining a change vector for each changed grid cell, wherein the change vector includes a direction from the robot to the changed grid cell and a range from the robot to the changed grid cell.

Claims (72)

1. A method for detecting an occupancy change near a robot, comprising:

producing an occupancy grid map of an environment around the robot;

scanning the environment to generate a current obstacle map relative to a current robot position;

converting the current obstacle map to a current occupancy grid map; and

processing each grid cell in the occupancy grid map, the processing comprising:

comparing each grid cell in the occupancy grid map to a corresponding grid cell in the current occupancy grid map;

defining a changed grid cell for each grid cell where the comparing indicates a substantial difference; and

defining a change vector for each changed grid cell, wherein the change vector includes a direction from the robot to the changed grid cell and a range from the robot to the changed grid cell.

2. The method of claim 1 , wherein defining a change vector further comprises including in the change vector an X-position and a Y-position of the changed grid cell in at least one coordinate system.

3. The method of claim 2 , wherein the at least one coordinate system is selected from the group consisting of a local robot coordinate system, a local environment coordinate system, and a world coordinate system.

4. The method of claim 1 , wherein processing each grid cell further comprises:

comparing each changed grid cell to other changed grid cells to determine if the changed grid cell and the other changed grid cells form a cluster; and

defining a change vector for the cluster rather than the change vector for each grid cell in the cluster.

5. The method of claim 1 , wherein processing each grid cell further comprises:

counting a number of changed grid cells;

updating the current robot position if the number of changed grid cells exceeds a predetermined threshold; and

performing the acts of scanning, converting and processing again after updating the current robot position.

6. The method of claim 1 , further comprising repeating the acts of scanning, converting and processing at a predetermined substantially periodic rate.

7. The method of claim 1 , wherein producing the occupancy grid map includes an act selected from the group consisting of generating the occupancy grid map on the robot, updating the occupancy grid map on the robot, receiving the occupancy grid map on the robot from a remote robot controller, receiving the occupancy grid map on the robot from an additional robot, and combinations thereof.

8. The method of claim 1 , further comprising providing the change vectors of the changed grid cells for use by other robot attributes, robot behaviors, and cognitive conduct modules within a robot intelligence kernel framework.

9. The method of claim 1 , further comprising transmitting the change vectors of the changed grid cells to a remote robot controller, to an additional robot, or combinations thereof.

10. The method of claim 1 , further comprising generating a new occupancy grid map by updating the occupancy grid map to include information from the current occupancy grid map.

11. The method of claim 10 , further comprising transmitting the new occupancy grid map to a remote robot controller, to an additional robot, or combinations thereof.

12. A computer readable medium having computer instructions thereon, which when executed on a processor provide a method for detecting an occupancy change near a robot, the computer instructions comprising instructions for:

producing an occupancy grid map of an environment around the robot;

scanning the environment to generate a current obstacle map relative to a current robot position;

converting the current obstacle map to a current occupancy grid map; and

processing each grid cell in the occupancy grid map, the processing comprising:

comparing each grid cell in the occupancy grid map to a corresponding grid cell in the current occupancy grid map;

defining a changed grid cell for each grid cell where the comparing indicates a substantial difference; and

defining a change vector for each changed grid cell, wherein the change vector includes a direction from the robot to the changed grid cell and a range from the robot to the changed grid cell.

13. The computer readable medium of claim 12 , wherein defining a change vector further comprises including in the change vector an X-position and a Y-position of the changed grid cell in at least one coordinate system.

14. The computer readable medium of claim 13 , wherein the at least one coordinate system is selected from the group consisting of a local robot coordinate system, a local environment coordinate system, and a world coordinate system.

15. The computer readable medium of claim 12 , wherein processing each grid cell further comprises:

comparing each changed grid cell to other changed grid cells to determine if the changed grid cell and the other changed grid cells form a cluster; and

defining a change vector for the cluster rather than the change vector for each grid cell in the cluster.

16. The computer readable medium of claim 12 , wherein processing each grid cell further comprises:

counting a number of changed grid cells;

updating the current robot position if the number of changed grid cells exceeds a predetermined threshold; and

performing the acts of scanning, converting and processing again after updating the current robot position.

17. The computer readable medium of claim 12 , further comprising instructions for repeating the acts of scanning, converting and processing at a predetermined substantially periodic rate.

18. The computer readable medium of claim 12 , wherein producing the occupancy grid map includes an act selected from the group consisting of generating the occupancy grid map on the robot, updating the occupancy grid map on the robot, receiving the occupancy grid map on the robot from a remote robot controller, receiving the occupancy grid map on the robot from an additional robot, and combinations thereof.

19. The computer readable medium of claim 12 , further comprising instructions for providing the change vectors of the changed grid cells for use by other robot attributes, robot behaviors, and cognitive conduct modules within a robot intelligence kernel framework.

20. The computer readable medium of claim 12 , further comprising instructions for transmitting the change vectors of the changed grid cells to a remote robot controller, to an additional robot, or combinations thereof.

21. The computer readable medium of claim 12 , further comprising instructions for generating a new occupancy grid map by updating the occupancy grid map to include information from the current occupancy grid map.

22. The computer readable medium of claim 21 , further comprising instructions for transmitting the new occupancy grid map to a remote robot controller, to an additional robot, or combinations thereof.

23. A robot platform, comprising:

at least one perceptor configured for perceiving environmental variables of interest;

at least one locomotor configured for providing mobility to the robot platform;

a system controller configured for executing computer instructions configured for detecting an occupancy change near a robot, the computer instructions comprising instructions for:

producing an occupancy grid map of an environment around the robot;

scanning the environment to generate a current obstacle map relative to a current robot position;

converting the current obstacle map to a current occupancy grid map; and

processing each grid cell in the occupancy grid map, the processing comprising:

comparing each grid cell in the occupancy grid map to a corresponding grid cell in the current occupancy grid map;

defining a changed grid cell for each grid cell where the comparing indicates a substantial difference; and

defining a change vector for each changed grid cell, wherein the change vector includes a direction from the robot to the changed grid cell and a range from the robot to the changed grid cell.

24. The robot platform of claim 23 , wherein defining a change vector further comprises including in the change vector an X-position and a Y-position of the changed grid cell in at least one coordinate system.

25. The robot platform of claim 24 , wherein the at least one coordinate system is selected from the group consisting of a local robot coordinate system, a local environment coordinate system, and a world coordinate system.

26. The robot platform of claim 23 , wherein processing each grid cell further comprises:

comparing each changed grid cell to other changed grid cells to determine if the changed grid cell and the other changed grid cells form a cluster; and

defining a change vector for the cluster rather than the change vector for each grid cell in the cluster.

27. The robot platform of claim 23 , wherein processing each grid cell further comprises:

counting a number of changed grid cells;

updating the current robot position if the number of changed grid cells exceeds a predetermined threshold; and

performing the acts of scanning, converting and processing again after updating the current robot position.

28. The robot platform of claim 23 , further comprising instructions for repeating the acts of scanning, converting and processing at a predetermined substantially periodic rate.

29. The robot platform of claim 23 , wherein producing the occupancy grid map includes an act selected from the group consisting of generating the occupancy grid map on the robot, updating the occupancy grid map on the robot, receiving the occupancy grid map on the robot from a remote robot controller, receiving the occupancy grid map on the robot from an additional robot, and combinations thereof.

30. The robot platform of claim 23 , further comprising instructions for providing the change vectors of the changed grid cells for use by other robot attributes, robot behaviors, and cognitive conduct modules within a robot intelligence kernel framework.

31. The robot platform of claim 23 , further comprising instructions for transmitting the change vectors of the changed grid cells to a remote robot controller, to an additional robot, or combinations thereof.

32. The robot platform of claim 23 , further comprising instructions for generating a new occupancy grid map by updating the occupancy grid map to include information from the current occupancy grid map.

33. The robot platform of claim 32 , further comprising instructions for transmitting the new occupancy grid map to a remote robot controller, to an additional robot, or combinations thereof.

Assignments (4)
TO CORRECT AN ERROR MADE IN A PREVIOUSLY RECORDED DOCUMENT THAT ERRONEOUSLY AFFECTS THE IDENTIFIED PATENTS Recorded Apr 16, 2020
From: BATTELLE ENERGY ALLIANCE, LLC
To: BATTELLE ENERGY ALLIANCE, LLC
Reel/Frame 052535/0070 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: TDC ACQUISITION HOLDINGS, INC.
To: HUMATICS CORPORATION
Reel/Frame 045318/0549 →
CONFIRMATORY LICENSE Recorded Nov 3, 2006
From: BATTELLE ENERGY ALLIANCE, LLC
To: ENERGY, UNITED STATES DEPARTMENT OF
Reel/Frame 018482/0606 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2006
From: BRUEMMER, DAVID J.; FEW, DOUGLAS A.
To: BATTELLE ENERGY ALLIANCE, LLC
Reel/Frame 017876/0842 →