The present invention claims priority of Korean Patent Application No. 10-2007-0073422, filed on Jul. 23, 2007, which is incorporated herein by reference.
The present invention relates to a technology of creating an indoor environment map, and more particularly to, method and system for creating an indoor environment map capable of precisely and rapidly acquiring indoor environment and a position of an object existing indoors.
There are various scaled outdoor maps of cities, counties, mountains, and the like in the world as civilization is developing, and more precise and detailed outdoor maps are created using a satellite and a global positioning system (GPS) so that the outdoor maps are gradually utilized in more various fields.
In contrast, indoor maps, which may be used in factories, public facilities, hospitals, airports, and the like, are not widely used in actual life at the present time in spite of a variety of applicable fields. This is because there is no a satellite and/or a GPS installed indoor, which makes it impossible to precisely track a location needed to acquire precise map information and hence induces an increase of manufacturing costs for the indoor map.
Meanwhile, since the technology of representing the indoor environment and configuration thereof into a map is applicable to a variety of fields, much research and development is being widely conducted. Particularly, a technology of detecting positions of objects using a distance measuring sensor and of creating an environment map using the detected positions is mainly used. This is because the distance measuring sensor can provide precise information about objects within a very short time interval.
In order to create a precise environment map, the position information acquired by the distance measuring sensor must be determined by a precise correlation. However, since a device such as an indoor GPS and the like is insufficient to measure an absolute position, it is difficult to detect the position information acquired by the distance measuring sensor precisely, and thus much research and development has been conducted to overcome this problem.
A scan matching algorithm as one area of research and development has widely been handled in the academic world. The scan matching algorithm has been developed to overcome, through the use of a matching relationship between information acquired by the distance measuring sensor and an encoded information error that is generated when an object provided with a distance measuring sensor moves from a reference location to another location.
However, since the majority of the scan matching technologies hitherto place the focus on automatically creating a map, there are many exceptional cases in that most of the above-mentioned scan matching technologies cannot be actually used and quality of the created map is not good.
Moreover, the environment recognition technology of a robot does not compensate when the environment recognition is wrong or fails.
Therefore, it is an object of the present invention to provide a system and method for creating an indoor environment map which is capable of rapidly acquiring an indoor environment map using position information and distance information of a mobile unit.
It is another object of the present invention to provide a system and method for precisely creating an indoor environment map in any environment which is capable of providing technical stability and user convenience.
In accordance with an aspect of the present invention, there is provided a method of creating an indoor environment map using a mobile unit designed to freely travel by employing a plurality of wheels, the mobile unit having a distance measuring sensor and a plurality of encoders mounted to the corresponding wheels, the method including: acquiring encoded position information by detecting revolutions of the wheels using the encoders to predict a position of the mobile unit based on the encoded position information when the mobile unit travels; acquiring a measured distance from the mobile unit to an object existing in a surrounding environment using the distance measuring sensor; predicting a position of the mobile unit to be moved; estimating a distance from the mobile unit to the object at the predicted position of the mobile unit; determining whether or not the estimated distance is matched with the measured distance; correcting the predicted position of the mobile unit to estimate a position of the mobile unit to be moved by the matching of the predicted position with the measured position; and creating the indoor environment map using the corrected position and the measured distance.
In accordance with another aspect of the present invention, there is provided a system for creating an indoor map including: a mobile unit having wheels to freely travel indoors for acquiring a measured distance from the mobile unit to an object existing in a surrounding environment and for acquiring a measured position of the mobile unit when the mobile unit travels; a position prediction unit for predicting a position of the mobile unit to be moved; a distance estimation unit for estimating a distance from the mobile unit to the object at the predicted position; a matching determining unit for determining whether or not the estimated distance is matched with the measured distance to estimate a position of the mobile unit to be moved; a position correcting unit for correcting the predicted position of the mobile unit if it is determined that the predicted position is matched with the measured position; and a map creating unit for creating the environment indoor map according to the corrected position and the measured distance.
In accordance with another aspect of the present invention, there is provided a method of creating an indoor environment map using a mobile unit designed to freely travel by employing a plurality of wheels, the mobile unit having a distance measuring sensor and a plurality of encoders mounted to the corresponding wheels, the method including: acquiring encoded position information by detecting revolutions of the wheels using the encoders to predict a position of the mobile unit based on the encoded position information when the mobile unit travels; acquiring a measured distance from the mobile unit to an object existing in a surrounding environment using the distance measuring sensor; correcting the predicted position by moving the mobile unit to a position corresponding to the measured distance; and creating the indoor environment map using the corrected position and the measured distance.
The above and other aspects and features of the present invention will become apparent from the following description of embodiments given in conjunction with the accompanying drawings, in which:
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
As shown in
The mobile unit 100, as illustrated in
The signal acquisition section 110 includes a distance measuring sensor 102, a first encoder 106a and a second encoder 106b. The distance measuring sensor 102 is mounted at a predetermined position on the mobile unit 100 and functions to acquire surrounding environment of the mobile unit 100 traveling indoor. The distance measuring sensor 102 projects a sensor beam toward indoor and receives beam reflected from an object existing in the surrounding environment of the mobile unit 100 to measure a distance from the distance measuring sensor 102 to the object. The distance measuring sensor 102 may be embodied with a laser sensor, an ultrasonic sensor, an infrared sensor, and the like for acquiring information on the surrounding environment and the distance.
The first and second encoders 106a and 106b are mounted to the first and second wheels 104a and 104b and detect revolutions of the wheels 104a and 104b, respectively, to produce encoded position, which represents the distance and the orientation where the mobile unit 100 travels.
The measured distance information acquired by the distance measuring sensor 102 and the encoded position information acquired by the first and second encoders 106a and 106b are sent to the signal converting section 200.
The signal converting section 200 integrally processes the measured distance information and the encoded position information. More specifically, the signal converting section 200 includes a distance converter 202 and a position converter 204 for converting the measured distance information and the encoded position information into digitized distance and position information necessary for processing in the signal processing section. The signal converting section 200 further includes a synchronizer 206 for synchronizing the distance information and the position information. The synchronization avoids an error that may be generated by a difference between acquiring times of the encoded position information and the measured distance information. The synchronized distance and position information is then provided to the signal processing section 310.
The signal processing section 310 includes a position prediction unit 300, a distance estimation unit 302, a matching determining unit 304, a position correcting unit 306, and a map creating unit 308.
Meanwhile, in a case of creating the indoor environment map by using only the acquired information for the mobile unit 100, an error may occur in the position of the mobile unit 100 due to the slip of the wheels 104a and 104b. If the position of the mobile unit 100 with the error is used, a precise indoor environment map may not be created.
Thus, approach to correct the error is required. In this embodiment, an optimal recursive data processing algorithm, e.g., an extended Kalman filter based on a distance measuring sensor is employed to rapidly create the indoor environment map by correcting the erroneous position of the mobile unit 100.
In order to correct the position of the mobile unit 100, there is needed to predict a position of the mobile unit 100 using the encoded position information by the encoders 106a and 106b. The position prediction unit 300 serves to predict a position of the mobile unit 100 by employing the extended Kalman filter algorithm. The prediction performed by the position prediction unit 300 will be explained with reference to
As illustrated in
X(k)=[x(k), y(k), θ(k)]T [Equation 1]
Furthermore, in order to obtain how long the mobile unit 100 travels during the prediction of the (k+1)-th position of the mobile unit 100, the encoded position information from the encoders 106a and 106b is required. As illustrated in
U(k)=[d(k), Δθ(k)]T [Equation 2]
By using the above Equations 1 and 2, the (k+1)-th position of the mobile unit 100 can be predicted from the geometrical features of the mobile unit 100. If the mobile unit 100 is rotated by Δθ(k) in response to the encoded position information U(k) at the k-th position before being moved by d(k), a (k+1)-th actual position of the mobile unit 100 can be defined by the following Equation 3.
X(K+1)=f(X(k), U(k))+ν(k), ν(k)˜N(0, Q(k)) [Equation 3]
where f(X(k),U(k)) is a plant model of the mobile unit 100 and can be expressed by the following Equation 4. Moreover, ν(k) expresses a position error of dead reckoning and is expressed by a zero mean Gaussian noise with covariance of Q(k).
Since an actual position x(k+l) is unknown due to an error occurred by the slip of the wheels 104a and 104b of the mobile unit 100 on the ground, the actual position can only be estimated from the following Equation 5 through a k-th estimated position X(k|k) and the encoded position information U(k).
An error between the predicted position defined by Equation 5 and the actual position defined by Equation 3 is expressed in the form of covariance. In this case, {circumflex over (X)}(k|k) is an estimated value, but U(k) is an actual information having a definite value. Thus, when Equation 3 is expressed by Taylor series based on the (k+1)-th estimated position {circumflex over (X)}(k|k), the (k+1)-th actual position is expressed by following Equation 6.
If Equation 6 is linearized by neglecting high order terms except for the first order term, Equation 6 can be expressed by the following Equation 7.
X(k+1|k)=f({circumflex over (X)}(k|k),U(k)) +∇f·└X(k)−{circumflex over (X)}(k|k)┘+ν(k) [Equation 7]
In Equation 7, ∇f is a Jacobian matrix of Equation 5 and is identical to the following Equation 8.
When the predicted position of Equation 5 is subtracted from the actual position linearized in Equation 7, the position estimation error {tilde under (X)}(k+1|k) can be obtained by the following Equation 9.
When the position estimation error of Equation 9 is expressed by a covariance matrix, the position estimation error is identical to C(k+1|k) of the following Equation 10.
C(k+1|k)=E└{tilde under (X)}(k+1|k){tilde under (X)}T(k+1|k)┘=∇f·E└{tilde under (X)}(k|k){tilde under (X)}T(k|k)┘·∇fT+∇f·E└{tilde under (X)}(k|k)v(k)T┘+E└v(k){tilde under (X)}T(k|k)┘·∇f+E└v(k)v(k)T┘ [Equation 10]
In Equation 10, E[ ] are linear operators. Since v(k) is not uncorrelated with {tilde under (X)}(k), the first term and the last term remain so that C(k+1|k) is expanded as the following Equation 11.
C(k+1|k)=∇f·E└{tilde under (X)}(k|k){tilde under (X)}T(k|k)┘·∇fTE└v(k)v(k)T┘ [Equation 11]
In Equation 11, E└{tilde under (X)}(k|k)┘ is a covariance matrix of a k-th position error, and E└v(k)v(k)T┘ is expressed by a covariance matrix Q(k) for expressing a position error of dead reckoning so that C(k+1|k) can be finally expressed by the following Equation 12.
C(k+1|k)=∇f·C(k|k)·∇fT+Q(k) [Equation 12]
Equation 12 contains physical meaning that the uncertainty of the (k+1)-th position of the mobile unit 100 has a relationship in which uncertainty of the k-th position thereof geometrically varies by ∇f·C(k|k)·∇fT and uncertainty Q(k) caused by the control inputs of the traveling distance d(k) and the rotation angle Δθ(k) is added to the uncertainty of the (k+1)-th position of the mobile unit.
Referring again
In the present invention, the indoor environment map is represented as a grid map in which the surrounding environment is divided into several grids in the form of chessboard and probability is assigned to each grid where the object exists.
In
T(k)={(xti(k),y ti(k))} [Equation14]
In Equation 14, T(k) represents the position of the object detected by the i-th information of the distance measuring sensor 102, wherein xti(k) and yti(k) are an X-axis position and a Y-axis position, respectively, of the object in terms of the global coordinate that is detected by the i-th information of the distance measuring sensor 102.
In this case, if it is assumed that the distance measuring sensor 102 projects i-th beam, the projected beam is reflected by a grid where a nearest object exists. This is expressed by Equation 15 and becomes the measurement model.
h
i(X(k),T(k))=√{square root over ((xs(k)−xti(k))2+(ys(k))−yti(k))2)}{square root over ((xs(k)−xti(k))2+(ys(k))−yti(k))2)}{square root over ((xs(k)−xti(k))2+(ys(k))−yti(k))2)}{square root over ((xs(k)−xti(k))2+(ys(k))−yti(k))2)} [Equation 15]
In Equation 15, hi(X(k),T(k)) is an estimated distance of the i-th beam from the distance measuring sensor 102. Here, xs(k) and ys(k) represent X-axis and Y-axis positions of the distance measuring sensor 102, respectively, in terms of the global coordinate; and xti(k) and yti(k) are estimated X-axis and Y-axis positions of an estimated object, respectively, in terms of the global coordinate.
Using the measurement model defined by Equation 15, the measurement of the i-th beam of the distance measuring sensor 102 at the predicted position of the mobile unit 100 can be estimated by the following Equation 16.
{circumflex over (z)}i(k+1|k)=hi({circumflex over (X)}(k+1|k),T(k+1)) [Equation 16]
In Equation 16, {circumflex over (z)}i(k+1|k) is an estimated distance of the i-th beam at the (k+1)-th predicted position of the mobile unit 100. Here, {circumflex over (X)}(k+1|k) is a (k+1)-th predicted position of the mobile unit 100 at the k-th position of the mobile unit 100, T(k+1) represents a position of the object that can be detected by the i-th information at the (k+1)-th predicted position of the mobile unit 100.
The matching determining unit 304 determines whether or not the estimated distance of Equation 16 from the distance estimation unit 302 matches the actual distance from the distance measuring sensor 102. In other words, the matching determining unit 304 obtains a difference between the estimated distance and the actual distance to determine whether or not the estimated distance is valid.
More specifically, referring to
z
i(k)=hi(X(k),T(k))+wi(k)˜N(0, Ri(k)) [Equation 17]
In Equation 17, X(k) represents the position of the mobile unit 100, T(k) represents a position where the object will be detected in the grid map, hi represents a distance, and wi(k) represents a measurement error of the distance measuring sensor 102. If the i-th beam is projected from the distance measuring sensor 102 at the position X(k) of the mobile unit 100, a value, in which the measurement error wi(k) of the distance measuring sensor is added to the distance hi at the position T(k), becomes the measured distance. The measurement error wi(k) is expressed by Gaussian noise with a mean 0 (zero) and covariance Ri(k). If
Equation 17 is applied to the predicted position {circumflex over (X)}(l+1|k), Equation 17 can be expanded with respect to the predicted position {circumflex over (X)}(k+1|k) in the form of Taylor series by the following Equation 18.
When Equation 18 is linearized by neglecting high order terms except for the first order term, Equation 18 can be expressed by the following Equation 19.
z
i(k+1)=hi({circumflex over (X)}(k)+1|k),T(k+1)) +∇hi·[{circumflex over (X)}(k+1|k)−X(k+1)]+wi(k+1) [Equation 19]
In Equation 19, ∇hi is a Jacobian matrix of Equation 5 and is identical to the following Equation 20.
In Equation 20, ‘d’ is a distance from the estimated position of the distance measuring sensor 102 to a position of the grid where the closest object exists. In order to determine whether or not the estimated distance measurement is valid, an innovation, as expressed by the following Equation 21, is obtained from a difference between the estimated distance measurement of Equation 16 and the actual distance measurement of Equation 19.
A covariance matrix of the innovation obtained from Equation 21 is identical to si(k(+1) of the following Equation 22.
In Equation 22, E[ ] are linear operators. Since wi(k+1) is uncorrelated with {tilde under (X)}(l+1|k), the first term and the last term remain so that si(k+1) is expanded as the following Equation 23.
s
i(k+1)=∇hi·E└{tilde under (X)}(k+1|k)┘·∇hiT+E└wi(k+1)wi(k+1)T┘ [Equation 23]
In Equation 23, E└{tilde under (X)}(k+1|k)û{circumflex over (t)}{circumflex over (l)}̂{circumflex over (X)}T(k+1|k)┘ is a covariance matrix C(k+1|k) of the predicted position of the mobile unit 100, and E└wi(k+1)wi(k+1)T┘ is a covariance matrix Ri(k+1) for expressing the measuring error of the distance measuring sensor 102. Therefore, xi(k+1) can be expressed as the following Equation 24.
s
i(k+1)=∇hi·C(k+1|k)·∇hiT+Ri(k+1) [Equation 24]
Whether or not the estimated distance has a good match with the actual distance is determined by the following Equation 25 by using the innovations and the covariance matrices of Equations 21 and 24.
{tilde under (z)}i(k+1)si−1(k+1){tilde under (z)}iT(k+1)≦e2 [Equation 25]
In Equation 25, ‘e’ is a boundary error, which is a predetermined parameter. If Equation 25 is satisfied, it means that the matching is successful. Since several distance information are used at the same time in this embodiment of the present invention, a composite innovation is expressed by the following Equation 26 if there are n-number of distance information satisfying the Equation 25.
A Jacobian value of a composite measurement model of the distance measuring sensor 102 is also expressed by the following Equation 27.
A covariance matrix of the composite innovation expressed by the following Equation 26 can be obtained using Equation 27.
S(k+1)=∇H·C(k+1|k)·∇H T+R(k+1), R(k+1)=diag {Ri(k+1)|1i≦n} [Equation 28]
In Equation 28, R(k+1) is Gaussian noise of the n-number of sensor information.
On the other hand, the position correcting unit 306 corrects the position information of the mobile unit 100 using the composite innovation of Equation 26 that is obtained by the matching determining unit 304. More specifically, the position correcting unit 306 performs a position correction for the mobile unit 100 such that the predicted position of the mobile unit 100 and the covariance matrix of the predicted position are updated using the previously obtained composite innovation. In this case, well-known Kalman gain is expressed by the following Equation 29.
W(k+1)=C(k+1|k)∇HTS−1(k+1) [Equation 29]
The predicted position of the mobile unit 100 and the covariance matrix of the predicted position are updated by the following Equations 30 and 31 using the covariance matrix of the composite innovation of Equation 28 and the Kalman gain of Equation 29.
{circumflex over (X)}(k+1|k+1)={circumflex over (X)}(k+1|k)+W(k+1)Z(K+1) [Equation 30]
C(k+1|k+1)=C(k+1|k)−W(k+1)S(K+1)WT(k+1) [Equation 31]
Finally, the map creating unit 308 creates the indoor environment map according to the corrected position of the mobile unit 100 and the covariance matrix performed by the position correcting unit 305. In other words, when the predicted position of the mobile unit 100 is corrected by the above-mentioned operations, the map creating unit 308 rapidly creates the indoor environment map by depicting therein the position of the object using the corrected position and the measured distance.
However, if the correction is not completed by the algorithm as described above, the mobile unit 100 may be moved manually to a position to be matched with the measured distance by the distance measuring sensor 102 as illustrated in
In a case of creating the indoor environment map only with the encoded position information of the mobile unit 100, there may occur an error in the position of the mobile unit 100 due to the slip of the wheels. Thus, in order to remedy the same, the present invention has been described to employ the expanded Kalman filter algorithm.
Alternatively, there is proposed another method of creating a more precise indoor environment map at any place although it is slow to create the indoor environment map. According to this method, a user manually corrects the position of the mobile unit 100 throughout whole operations using the distance information acquired at respective positions of the mobile unit 100, which will be described with reference to
Referring to
In this case, if it is assumed that two points matched with each other at the k-th step are (xk,yk) and (x′k,y′k) respectively, and two points matched with each at the (k+1)-th step are (xk+1,yk+1) and x′k+1,y′k+1) , respectively, the position of the mobile unit 100 at the (k+l)-th step can be obtained from the position [Xk,Y(k,θk] of the mobile unit 100 at the k-th step by using the following Equations 32 to 34. The maps created over the k-th to the (k+l)-th step are matched with each other to create a precise indoor environment map using the position of the mobile unit 100 at the (k+1)-th step.
The Equations 32, 33, and 34 are to obtain the position of the mobile unit at the (k+1)-th step, wherein (xk,yk) and (x′k,y′k) are positions at the two points among the k-th distance information of the mobile unit 100, (xk+1,yk+1) and (x′k+1,y′k+1) are the (k+1)-th distance information to be matched with (xk,yk) and (x′k,y′k), Xk,Yk,θk represents the position of the mobile unit 100 at the k-th step, and Xk+1,Yk+1,θk+1 represents the position of the mobile unit 100 at the (k+1)-th step.
Hereinafter, a method of creating an indoor environment map in accordance with the present invention having the above-mentioned structure will be described in detail with reference to
As shown in
In step S702, the first and second encoders 106a and 106b that are mounted to the first and second wheels 104a and 104b, respectively, detect revolutions of the wheels 104a and 104b, respectively, to thereby acquire encoded position information of the mobile unit 100. At the same time, the distance measuring sensor 102 of the mobile unit 100 acquires the distance information from the distance measuring sensor 102 to an object existing in the surrounding environment at the position of the mobile unit 100. The encoded position information from the first and second encoders 106a and 106b and the distance information from the distance measuring sensor 102 are then provided to the signal processing section 310 through the signal converting unit 200.
After that, in step S704, the position prediction unit 300 predicts the position of the mobile unit 100 using the encoded position information from the first and second encoders 106a and 106b.
In step S706, it is determined whether the expanded Kalman filter is applied or not. In a case of rapidly creating the indoor environment map using the expanded Kalman filter, a control process goes to step S708 where the position of the mobile unit 100 is estimated by the position correcting unit 306 employing the extended Kalman filter. That is, in the step S708, the position of the mobile unit 100 is estimated to correct the predicted position of the mobile unit 100 through the use of the expanded Kalman filter in accordance with the present invention.
Thereafter, in step S710, the matching determining unit 304 determines whether or not an error in the corrected position of the mobile unit 100 is large. That is, the matching determining unit 304 determines whether or not the estimated distance is matched with the measured distance. In step S710, if it is determined that the error in the corrected position of the mobile unit 100 is large, that is, it is determined that the estimated distance is not matched with the measured distance, a control process advances to step S712 where the predicted position of the mobile unit 100 is corrected manually to rapidly and precisely create the indoor environment map.
If, however, in step S710, it is determined that there is no error in the corrected position of the mobile unit 100, a control process goes to step S716. In step S716, the corrected position of the mobile unit 100 is then provided to the map creating unit 308 where the indoor environment map depicting the position of the object is created using the corrected position of the mobile unit 100 and the distance measured by the distance measuring sensor 102 at the corrected position.
Meanwhile, if it is determined in the step S706 that the expanded Kalman filter is not employed, a control process goes to step S714 where the predicted position of the mobile unit 100 is precisely corrected by manually point-matching using the actual distance measured by the distance measuring sensor 102 at the respective positions of the mobile unit 100. The position correcting method using the point-matching has been illustrated in
As described above, according to the present invention, an indoor environment map is rapidly created through the expanded Kalman filter algorithm, or a precise indoor environment map is created at any place through the manual point-matching.
According to the present invention, an indoor environment map in which a mobile unit or an operator recognizes surrounding environment in public facilities, hospitals, airports, and the like can be rapidly and precisely created. For example, when the present invention is employed in a mobile robot, information on the surrounding environment is provided to the mobile robot so that the information may be used to create an optimal shortest path to the mobile robot. Moreover, the configuration and features of the public facilities and other indoor spaces are easily created to be used for the purpose of guiding indoor paths. A construction company may employ the present invention to rapidly and precisely create and recognize actual configuration of a building in order to check whether indoor configuration of a constructed building matches construction drawings.
While the invention has been shown and described with respect to the preferred embodiments, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the scope of the invention as defined in the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2007-0073422 | Jul 2007 | KR | national |
This application is a Continuation Application of PCT International Application No. PCT/KR2008/004090 filed on Jul. 11, 2008, which designated the United States.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/KR2008/004090 | Jul 2009 | US |
Child | 12692113 | US |