Positive and negative obstacle avoidance system and method for a mobile robot
First Claim
1. In a mobile robot comprising a memory and a propulsion system, a method for avoiding positive obstacles in a physical environment, the method comprising:
- a) storing in the memory(i) a map defining a floor plan representing the physical environment and a two dimensional coordinate system delineating the floor plan,(ii) a first data structure of two-dimensional coordinates from the floor plan, the two-dimensional coordinates in the first data structure representing locations in the physical environment to be avoided by the mobile robot,(iii) first laser placement information for a first laser attached to the mobile robot, said first laser being oriented to scan the physical environment in a first plane that is not parallel to the floor of the physical environment, wherein said first laser placement information includes a first laser position and a first laser tilt, and(iv) a tolerance profile comprising a ceiling offset, a floor offset, a ceiling adjustment angle and a floor adjustment angle,b) receiving a set of laser readings from said first laser, each laser reading corresponding to a location in the physical environment where said first laser detects a physical obstacle in said first plane, and each laser reading comprising a first plane angle and a first plane distance from a given site on the mobile robot;
c) for each laser reading in said set of laser readings(i) converting said each laser reading into a three-dimensional coordinate based on said first plane angle, said first plane distance, said first laser position and said first laser tilt, wherein said three-dimensional coordinate comprises an x-component, a y-component and a z-component,(ii) determining a minimum ceiling height and a maximum floor height for the three dimensional coordinate based on the x-component, the y-component and the tolerance profile, and(iii) if the z-component is between the minimum ceiling height and the maximum floor height, adding the x-component and the y-component to the first data structure of two-dimensional coordinates to represent a new location in the physical environment to be avoided by the mobile robot; and
d) causing the propulsion system to drive the mobile robot in the physical environment under control of the first data structure, wherein the propulsion system prevents the mobile robot from passing into the locations in the physical environment represented by the two-dimensional coordinates in the first data structure.
5 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide methods and systems for ensuring that mobile robots are able to detect and avoid positive obstacles in a physical environment that are typically hard to detect because the obstacles do not exist in the same plane or planes as the mobile robot'"'"'s horizontally-oriented obstacle detecting lasers. Embodiments of the present invention also help to ensure that mobile robots are able to detect and avoid driving into negative obstacles, such as gaps or holes in the floor, or a flight of stairs. Thus, the invention provides positive and negative obstacle avoidance systems for mobile robots.
79 Citations
26 Claims
-
1. In a mobile robot comprising a memory and a propulsion system, a method for avoiding positive obstacles in a physical environment, the method comprising:
-
a) storing in the memory (i) a map defining a floor plan representing the physical environment and a two dimensional coordinate system delineating the floor plan, (ii) a first data structure of two-dimensional coordinates from the floor plan, the two-dimensional coordinates in the first data structure representing locations in the physical environment to be avoided by the mobile robot, (iii) first laser placement information for a first laser attached to the mobile robot, said first laser being oriented to scan the physical environment in a first plane that is not parallel to the floor of the physical environment, wherein said first laser placement information includes a first laser position and a first laser tilt, and (iv) a tolerance profile comprising a ceiling offset, a floor offset, a ceiling adjustment angle and a floor adjustment angle, b) receiving a set of laser readings from said first laser, each laser reading corresponding to a location in the physical environment where said first laser detects a physical obstacle in said first plane, and each laser reading comprising a first plane angle and a first plane distance from a given site on the mobile robot; c) for each laser reading in said set of laser readings (i) converting said each laser reading into a three-dimensional coordinate based on said first plane angle, said first plane distance, said first laser position and said first laser tilt, wherein said three-dimensional coordinate comprises an x-component, a y-component and a z-component, (ii) determining a minimum ceiling height and a maximum floor height for the three dimensional coordinate based on the x-component, the y-component and the tolerance profile, and (iii) if the z-component is between the minimum ceiling height and the maximum floor height, adding the x-component and the y-component to the first data structure of two-dimensional coordinates to represent a new location in the physical environment to be avoided by the mobile robot; and d) causing the propulsion system to drive the mobile robot in the physical environment under control of the first data structure, wherein the propulsion system prevents the mobile robot from passing into the locations in the physical environment represented by the two-dimensional coordinates in the first data structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. In a mobile robot comprising a memory and a propulsion system, a method for avoiding negative obstacles in a physical environment, the method comprising:
-
a) storing in the memory (i) a map defining a floor plan representing the physical environment and a two dimensional coordinate system delineating the floor plan, (ii) a first data structure of two-dimensional coordinates from the floor plan, the two dimensional coordinates in the first data structure representing locations in the physical environment to be avoided by the mobile robot, (iii) first laser placement information for a first laser attached to the mobile robot, said first laser being oriented to scan the physical environment in a first plane that is not parallel to the floor of the physical environment, wherein said first laser placement information includes a first laser position and a first laser tilt, and (iv) a tolerance profile comprising a maximum floor offset, a minimum floor offset, a maximum floor adjustment angle, a minimum floor adjustment angle and a maximum allowable floor gap, b) receiving a set of laser readings from said first laser, each laser reading corresponding to a location in the physical environment within said first plane, and each laser reading comprising a first plane angle and a first plane distance from a given site on the mobile robot; c) for each laser reading in said set of laser readings (i) converting said each laser reading into a three-dimensional coordinate based on said first plane angle, said first plane distance, said first laser position and said first laser tilt, wherein said three-dimensional coordinate comprises an x-component, a y-component and a z-component, (ii) determining a maximum floor height and a minimum floor height for the three-dimensional coordinate based on the x-component, the y-component and the tolerance profile, and (iii) if the z-component is between the maximum floor height and the minimum floor/height, changing an indicator in the memory to designate the x-component and the y-component of the three-dimensional coordinate as the last good floor reading, (iv) if the z-component is not between the maximum floor height and the minimum floor height, determining whether the distance G between the last good floor reading and the location in the two-dimensional coordinate system defined by the x-component and the y-component exceeds the maximum allowable floor gap, and (v) if the distance G exceeds the maximum allowable floor gap, adding the x-component, the y-component and the last good floor reading to the first data structure of two-dimensional coordinates to represent a new location in the physical environment to be avoided by the mobile robot; d) causing the propulsion system to drive the mobile robot in the physical environment under control of the first data structure, wherein the propulsion system prevents the mobile robot from passing into the locations in the physical environment represented by the two-dimensional coordinates in the first data structure. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A positive obstacle avoidance system for use with a mobile robot in a physical environment,
comprising: -
a) a first laser attached to the mobile robot, said first laser being oriented to scan the physical environment in a first plane that is not parallel to the floor of the physical environment; b) a memory for storing (i) a map defining a floor plan representing the physical environment and a two dimensional coordinate system delineating the floor plan, (ii) a first data structure of two-dimensional coordinates from the floor plan, each two dimensional coordinate in the first data structure representing a location in the physical environment to be avoided by the mobile robot, (iii) first laser placement information for said first laser, said first laser placement information including a first laser position and a first laser tilt, and (iv) a tolerance profile comprising a ceiling offset, a floor offset, a ceiling adjustment angle and a floor adjustment angle, c) a laser controller for receiving a set of laser readings from said first laser, each laser reading corresponding to a location in the physical environment where said first laser detects a physical obstacle in said first plane, and each laser reading comprising a first plane angle and a first plane distance from a given site on the mobile robot; d) a positive obstacle avoidance engine that, for each laser reading in said set of laser readings (i) converts said each laser reading into a three-dimensional coordinate based on said first plane angle, said first plane distance, said first laser position and said first laser tilt, wherein said three-dimensional coordinate comprises an x-component, a y-component and a z-component, (ii) determines a minimum ceiling height and a maximum floor height for the three dimensional coordinate based on the x-component, the y-component and the tolerance profile, and (iii) if the z-component is between the minimum ceiling height and the maximum floor height, adds the x-component and the y-component to the first data structure of two-dimensional coordinates to represent a new location in the physical environment to be avoided by the mobile robot; and e) a propulsion system that drives the mobile robot in the physical environment under control of the first data structure, the propulsion system being configured to prevent the mobile robot from passing into the locations in the physical environment represented by the two-dimensional coordinates in the first data structure. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
-
22. A negative obstacle avoidance system for use with a mobile robot in a physical environment, comprising:
-
a) a first laser attached to the mobile robot, said first laser being oriented to scan the physical environment in a first plane that is not parallel to the floor of the physical environment; b) a memory for storing (i) a map defining a floor plan representing the physical environment and a two dimensional coordinate system delineating the floor plan, (ii) a first data structure of two-dimensional coordinates from the floor plan, the two dimensional coordinates in the first data structure representing locations in the physical environment to be avoided by the mobile robot, (iii) first laser placement information for said first laser, the first laser placement information including a first laser position and a first laser tilt, and (iv) a tolerance profile comprising a maximum floor offset, a minimum floor offset, a maximum floor adjustment angle, a minimum floor adjustment angle and a maximum allowable floor gap, c) a laser controller for receiving a set of laser readings from said first laser, each laser reading corresponding to a location in the physical environment within said first plane, and each laser reading comprising a first plane angle and a first plane distance from a given site on the mobile robot; and d) a negative obstacle avoidance engine that, for each laser reading in said set of laser readings (i) converts said each laser reading into a three-dimensional coordinate based on said first plane angle, said first plane distance, said first laser position and said first laser tilt, wherein said three-dimensional coordinate comprises an x-component, a y-component and a z-component, (ii) determines a maximum floor height and a minimum floor height for the three dimensional coordinate based on the x-component, the y-component and the tolerance profile, and (iii) if the z-component is between the maximum floor height and the minimum floor height, changes an indicator in the memory to designate the x-component and the y-component of the three-dimensional coordinate as the last good floor reading coordinate, (iv) if the z-component is not between the maximum floor height and the minimum floor height, determines whether the distance G between the last good floor reading coordinate and the location in the two-dimensional coordinate system defined by the x-component and the y-component exceeds the maximum allowable floor gap, and (v) if the distance G exceeds the maximum allowable floor gap, adds the x-component, the y-component and the last good floor reading coordinate to the first data structure of two-dimensional coordinates to represent another location in the physical environment to be avoided by the mobile robot; and e) a propulsion system that drives the mobile robot in the physical environment under control of the first data structure, the propulsion system being configured to prevent the mobile robot from passing into the locations in the physical environment represented by the two-dimensional coordinates in the first data structure. - View Dependent Claims (23, 24, 25, 26)
-
Specification