This application claims the priority benefit under 35 U.S.C. §119(a) of Korean Patent Application No. 10-2008-0108438, filed on Nov. 3, 2008, the disclosure of which is incorporated herein in its entirety by reference.
1. Field
Exemplary embodiments relate to technology for extracting feature information from nearby objects and using the extracted feature information to create a feature map for localization of a mobile robot.
2. Description of the Related Art
Several maps are used in mobile robots depending on purpose of use, but grid maps and feature maps are used the most.
Grid maps are a type of map in which a grid of fixed size is used to reflect and store the position and shape of the surrounding environment and obstacles as they are. Grid maps are very intuitive and easy to work with but have the disadvantage of drastic increase in memory required as the robot's use space becomes larger.
In contrast, feature maps detect and store only required feature information about the surrounding environment and obstacles, such as location and color, and thus do not require much memory. However, it is relatively dependent on feature detection capabilities of a system.
In order to create a feature map, a method of installing a camera in the robot and using image information obtained from the camera to extract features of surrounding objects is often used.
However, in order to localize the robot, currently extracted features must match registered features, but the image information from the camera has a problem that it is not easy to compensate for image scaling, rotation and affine curvature due to variation in lighting and robot location. Consequently, matching capability is very limited.
Accordingly, there is need for a method of creating a feature map that is less sensitive to variation in the surrounding environment and extracts feature information more efficiently.
Exemplary embodiments relate to an apparatus and method for creating a feature map using feature information such as distance information, planar patch information, reflection function information, etc. Feature information may be detected using a 3D distance sensor.
According to an exemplary aspect, a feature information extraction apparatus includes: a sensor to detect light reflected from surrounding objects to acquire distance information and remission information regarding the surrounding objects; a corner detector to detect corner information regarding the surrounding objects using the remission information; a plane detector to detect information of a planar patch using the corner information and distance information of corresponding corner surroundings; and a reflection function detector to detect a reflection function of the planar patch using the remission information depending on angle of light incident on the planar patch.
According to another exemplary aspect, a feature map creation apparatus includes: a sensor, mounted on the robot, to detect light reflected from surrounding objects to acquire distance information and remission information regarding the surrounding objects; and a data processor to extract corner information, planar patch information, and feature information including a reflection function of a planar patch, regarding the surrounding objects, from the distance information and remission information, and to store the extracted feature information to create a feature map.
According to still another exemplary aspect, a feature information extraction method includes: detecting light reflected from surrounding objects to acquire distance information and remission information regarding the surrounding objects; detecting corner location coordinates regarding the surrounding objects as corner information based on the remission information; establishing a cube centered on the corner location coordinates using the detected corner location coordinates and distance information of corresponding corner surroundings, and detecting planar patch information from distance information included in the cube; detecting a reflection function of the planar patch using the remission information which depends on angle of light incident on the planar patch; and extracting and storing at least one of the corner information, planar patch, and reflection function as the feature information.
According to yet another exemplary aspect, a feature map creation method includes: detecting light reflected from surrounding objects to acquire distance information and remission information regarding the surrounding objects; detecting corner location coordinates regarding the surrounding objects as corner information based on the remission information; establishing a cube centered on the corner location coordinates using the detected corner location coordinates and distance information of corresponding corner surroundings, and detecting information of a planar patch from distance information included in the cube; detecting a reflection function of the planar patch using remission information which depends on angle of light incident on the planar patch; extracting and storing at least one of the corner information, planar patch, and reflection function as feature information; and matching currently detected feature information with previously stored feature information to correct the position of the robot and update the stored feature information.
The remission information may be an amount of light reflected from surrounding objects or a plane image created based on the amount of light reflected from surrounding objects. Also, the corner information may be location coordinates of a corresponding corner. The planar patch information may be plane equation parameters regarding a corresponding planar patch, and the reflection function may be a function expressing remission information which depends on angle of incidence of light with respect to a corresponding planar patch.
Above, it is possible for corners to be detected based on scale invariant feature transform (SIFT) or Harris algorithms. The planar patch may be obtained by applying a plane detection algorithm using a least squares method (LSM) to distance information inside the cube centered on the detected corner when the cube is established and outputting a plane. The reflection function may be computed through curve fitting a Gaussian function to the remission information which depends on angle of light incident on the planar patch.
According to yet another exemplary aspect, there is provided at least one computer readable medium storing computer readable instructions to implement methods of exemplary embodiments.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory.
These and/or other aspects will become apparent and more readily appreciated from the following description of exemplary embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. Exemplary embodiments are described below to explain the disclosure by referring to the figures.
Exemplary embodiments may, however, be embodied in many different forms and should not be construed as limited to exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure is thorough, and will fully convey the scope of the disclosure to those skilled in the art. In the drawings, the size and relative sizes of layers and regions may be exaggerated for clarity. Like reference numerals in the drawings denote like elements.
A feature information extraction apparatus and method, and a feature map creating apparatus and method using the extracted feature information, will be described in detail below with reference to the attached drawings. In this description, terms used herein are just defined by considering various functions and thus may vary according to a user's intentions or customs. Therefore, those definitions have to be appreciated on the basis of the entire disclosure of this application.
The apparatus and method described through exemplary embodiments presented herein can be applied to a mobile robot performing tasks while moving within a predetermined range, such as a search robot probing a specified area or a cleaning robot for house cleaning. In order for the robot to perform tasks while moving within a predetermined range, the robot recognizes its own location. To perform localization, the robot has or obtains information about its surroundings. A representative example of information about the robot's surroundings is a feature map. Accordingly, the apparatus and method described through exemplary embodiments presented herein can be applied to a mobile robot to extract feature information or can be used to create a feature map using extracted feature information.
For example, in the case of a feature information extraction apparatus or a feature map creation apparatus, the apparatus may include a sensor mounted on a robot and a data processor processing information acquired by the sensor. Here, the data processor may be implemented via software in a microcomputer or control chip for performing control, or it may be formed as a separate data processing chip.
Referring to
In
The information on the surroundings acquired by the sensor 102 may be distance information and remission information regarding objects. The distance information can be calculated using the time the light is emitted and the time reflected light arrives, and the remission information can be obtained by measuring the amount of light reflected.
A feature information extractor 103 extracts feature information of surrounding objects for creating a feature map using the distance information and remission information acquired by the sensor 102. Here, the extracted information may be object corner information (e.g., corner location coordinates), planar patch information (e.g., plane equation parameters regarding a specified plane), a reflection function (e.g., light reflection amount according to light incidence angle regarding a specified plane), etc.
A feature map storage 103 stores feature information extracted by the feature information extractor 103. That is, the assembly of feature information extracted by the feature information extractor 103 may be understood as constituting a feature map.
Referring to
Referring to
The sensor 301 emits light to the surroundings, detects light reflected from surrounding objects, and acquires distance information and remission information regarding the objects. Here, the distance information may be the distance between the sensor 301 and every point on an object, and the remission information may be an amount of light reflected from an object or a planar image created based on the amount of light reflected from an object. Here, one example of the configuration of the sensor 301 is the same as in
The corner detector 302 detects corner information of an object using the remission information acquired by the sensor 301.
For example, since the remission information may be a planar image created based on amount of light reflected, it is possible to detect each corner of an object in the planar image (i.e., object corners or edges). Scale invariant feature transform (SIFT) or Harris technique, etc. may be used for a corner detection algorithm.
Also, the detected corner information can be the location coordinates of a corresponding corner.
The left side of
Referring to
Referring back to
In
Referring back to
The reflection function will be described first.
Referring to
Next, a method by which the reflection function detector 304 detects the reflection function will be described.
Referring to
Referring to
The method of
First, in S901, distance information and remission information regarding surrounding objects is acquired. This information may be acquired by the above-described sensor 301.
Next, in S902, corner information is detected. For example, the corner detector 302 may execute a SIFT algorithm or a Harris algorithm on a planar image acquired as the remission information to detect location coordinates of a corner.
Next, in S903, planar patch information is detected. For example, the plane detector 303 establishes a cube centered on the location coordinates of a corner detected in S902 and detects a planar patch from distance information inside the cube. Here, a plane detection algorithm such as the method of least squares may be used, and the planar patch information may denote parameters of a plane equation of each planar patch.
Next, in S904, the reflection function of a planar patch is detected. For example, the reflection function detector 304 may collect remission information which depends on angle of light incident on the planar patch and fit a Gaussian function to the collected information through the curve fitting, like in
Next, in S905, each of the corner information, the planar patch information, and the reflection function are registered as feature information.
In
The sensor 401 may be a 3D distance sensor installed in the robot and emitting light to the surroundings as shown in
The data processor 402 may extract feature information regarding surrounding objects from information acquired by the sensor 401 and save the extracted feature information to create a feature map. Here, the feature information may be corner location coordinates, parameters of plane equation of a planar patch around a corner, a reflection function of a planar patch, etc.
A corner detector 403 detects corner information regarding an object using the remission information acquired by the sensor 401. For example, it may perform a corner detection algorithm on a planar image created based on the amount of light reflected to detect location coordinates of a corresponding corner as the corner information (refer to
A plane detector 404 detects planar patch information using the corner information detected in the corner detector 403 and distance information of corresponding corner surroundings. For example, as shown in
A reflection function detector 405 detects a reflection function for each planar patch detected in the plane detector 404. For example, as described with reference to
A feature map storage 406 stores the detected corner information, planar patch information, and reflection function information as feature information. For example, as shown in
An update unit 407 performs a function of matching current feature information sensed as the robot performs its tasks with feature information stored in the feature map storage 406 to correct the location of the robot, and updating the stored feature information.
The method of claim 12 will now be described in detail.
First, in S1201, feature information regarding surroundings is extracted. The method illustrated in
Next, in S1202, the extracted information is stored as feature map information. For example, corner information, planar patch information, reflection function, etc. may be feature information.
Next, in S1203, matching is performed between current feature information and pre-stored feature information.
Next, in S1204, the location of the robot is reflected in the matched feature information and that location is corrected. For example, when the currently collected feature information is most similar to feature information detected at location A among the pre-stored feature information, the robot may be moved to location A.
Next, in S1205, the stored feature information is updated according to the movement of the robot's location.
The above-described exemplary embodiments may be recorded in computer-readable media including program instructions to implement various operations embodied by a computer. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVDs; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. The computer-readable media may also be a distributed network, so that the program instructions are stored and executed in a distributed fashion. The program instructions may be executed by one or more processors. The computer-readable media may also be embodied in at least one application specific integrated circuit (ASIC) or Field Programmable Gate Array (FPGA). Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations of the above-described embodiments, or vice versa.
Although a few exemplary embodiments have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these exemplary embodiments without departing from the principles and spirit of the disclosure, the scope of which is defined in the claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2008-00108438 | Nov 2008 | KR | national |
Number | Name | Date | Kind |
---|---|---|---|
4731860 | Wahl | Mar 1988 | A |
6420694 | Greenwood | Jul 2002 | B1 |
6456728 | Doi et al. | Sep 2002 | B1 |
6826293 | Matsunaga | Nov 2004 | B2 |
6959104 | Rajagopal et al. | Oct 2005 | B2 |
7162338 | Goncalves et al. | Jan 2007 | B2 |
7421338 | Kim et al. | Sep 2008 | B2 |
7536029 | Choi et al. | May 2009 | B2 |
7720554 | DiBernardo et al. | May 2010 | B2 |
7912583 | Gutmann et al. | Mar 2011 | B2 |
20020135578 | Wenzel et al. | Sep 2002 | A1 |
20050033474 | Kim et al. | Feb 2005 | A1 |
20050213082 | DiBernardo et al. | Sep 2005 | A1 |
20050232511 | Ziou et al. | Oct 2005 | A1 |
20050238200 | Gupta et al. | Oct 2005 | A1 |
20060017720 | Li | Jan 2006 | A1 |
20060025888 | Gutmann et al. | Feb 2006 | A1 |
20060075422 | Choi et al. | Apr 2006 | A1 |
20060115160 | Jung et al. | Jun 2006 | A1 |
20060136097 | Kim et al. | Jun 2006 | A1 |
20060165276 | Hong et al. | Jul 2006 | A1 |
20080037862 | Jeon et al. | Feb 2008 | A1 |
20090059041 | Kwon | Mar 2009 | A1 |
20090125175 | Park et al. | May 2009 | A1 |
20090133467 | Mori et al. | May 2009 | A1 |
20100070078 | Kong et al. | Mar 2010 | A1 |
20100114374 | Cho et al. | May 2010 | A1 |
Number | Date | Country |
---|---|---|
5-297141 | Nov 1993 | JP |
2003-281686 | Oct 2003 | JP |
2003-348459 | Dec 2003 | JP |
2004-333505 | Nov 2004 | JP |
2006-53698 | Feb 2006 | JP |
10-2006-0033497 | Apr 2006 | KR |
10-2006-0095173 | Aug 2006 | KR |
Number | Date | Country | |
---|---|---|---|
20100114374 A1 | May 2010 | US |