Apparatus and method for estimating position and orientation of mobile robot
Abstract
Apparatus comprising: a ceiling image grabber for obtaining a ceiling image of a place in which the mobile robot travels; a mark detector for detecting a retro-reflective artificial mark from the ceiling image, the retro-reflective artificial mark comprising a first mark and a second mark, each including a non-reflective portion and an infrared reflective portion; and a position & orientation estimator for estimating a the position and the orientation of the robot using a position of the artificial mark or encoder information according to whether detection of the artificial mark has succeeded or not.

Term
Term ended
Projected expiry passed 14 September 2024, 2 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
20 claims: 9 independent, 11 dependent
- 1A method of constructing an artificial mark, comprising:forming a first mark including a non-reflective portion and an infrared reflective portion;andforming a second mark including the non-reflective portion and the infrared reflective portion and being apart from the first mark at a predetermined distance, wherein the first and second marks are a retro-reflective artificial mark.
- 3A method of estimating a position and an orientation of a mobile robot, the method comprising:obtaining a ceiling image of a place in which the mobile robot travels;detecting a retro-reflective artificial mark from the ceiling image, the retro-reflective artificial mark comprising a first mark and a second mark, each including a non-reflective portion and an infrared reflective portion;andestimating the position and the orientation of the robot using a position of the artificial mark or encoder information according to whether detection of the artificial mark has succeeded or not.
- 7The method of any of claims 3 to 6, wherein the detecting a retro-reflective artificial mark comprises:extracting at least one or more candidate regions with respect to the ceiling image using a result of outline matching geometrical information of the artificial mark;performing template matching with respect to the detected candidate regions, selecting the largest reliability value as a template matching result, and comparing the selected reliability value to a predetermined reference value;anddetermining that detection of the artificial mark has succeeded if the selected reliability value is larger than the reference value as a comparison result, and determining that detection of the artificial mark has failed if the selected reliability value is smaller than the reference value as a comparison result.
- 9The method of any of claims 3 to 8, wherein, if the detected artificial mark is used in the estimating the position and the orientation of the robot, a relative position and orientation of the mobile robot are estimated from the artificial mark by sequentially performing a shift process, a rotation process, and a flip process.
- 10An apparatus for estimating a position and an orientation of a mobile robot, the apparatus comprising:a ceiling image grabber for obtaining a ceiling image of a place in which the mobile robot travels;a mark detector for detecting a retro-reflective artificial mark from the ceiling image, the retro-reflective artificial mark comprising a first mark and a second mark, each including a non-reflective portion and an infrared reflective portion;anda position & orientation estimator for estimating a the position and the orientation of the robot using a position of the artificial mark or encoder information according to whether detection of the artificial mark has succeeded or not.
- 14The apparatus of any of claims 10 to 13, wherein the mark detector extracts at least one or more candidate regions with respect to the ceiling image, selects the largest reliability value as a template matching result with respect to the detected candidate regions, compares the selected reliability value to a predetermined reference value, determines that detection of the artificial mark has succeeded or failed according to a comparison result.
- 15A mobile robot comprising:a ceiling image grabber obtaining a ceiling image of a place in which the mobile robot travels;an image lightness comparator determining whether a light of a current environment is dark or bright by calculating an average intensity of the ceiling image and comparing the calculated average intensity to a predetermined reference value;a light controller controlling a light device attached to the mobile robot according to a determination result of the image lightness comparator;a mark detector detecting a retro-reflective artificial mark including a first mark and a second mark composed of a non-reflective portion and an infrared reflective portion from the ceiling image;a position & orientation estimator estimating a position and an orientation of the robot using a position of the artificial mark or encoder information according to whether detection of the artificial mark has succeeded;anda motion controller controlling traveling of the mobile robot according to the position and the orientation estimated by the position & orientation estimator.
- 19The mobile robot of any of claims 15 to 18, wherein the mark detector extracts at least one or more candidate regions, selects the largest reliability value as a template matching result with respect to the detected candidate regions, compares the selected reliability value to a predetermined reference value, determines that detection of the artificial mark has succeeded or failed according to a comparison result.
- 20A computer readable medium having recorded thereon a computer readable program for performing a method of estimating a position and an orientation of a mobile robot, the method comprising:obtaining a ceiling image of a place in which the mobile robot travels;detecting a retro-reflective artificial mark from the ceiling image, the retro-reflective artificial mark comprising a first mark and a second mark, each including a non-reflective portion and an infrared reflective portion;andestimating the position and the orientation of the robot using a position of the artificial mark or encoder information according to whether detection of the artificial mark has succeeded or not.
Independent claims9
54 paragraphs, as filed
The present invention relates to a mobile robot, and more particularly, to an apparatus and method for estimating the position and orientation of a mobile robot in dark environment or an environment with a severe change of illumination conditions.
There are generally four methods of estimating the position and orientation of a mobile robot by using artificial beacons. The first method uses reflecting objects and a vision system. An example of this method is disclosed in U.S. Pat. No. 5,051,906, wherein an automatic guided vehicle (AGV) travels along a hallway using retro-reflective stripes attached to the ceiling. The orientation and position of the AGV is determined when the AGV travels along a long axis of the hallway. The second method uses only reflectors. Examples of this method are disclosed in U.S. Pat. No. 5,812,267 and U.S. Pat. No. 5,467,273. The third method uses a vision system and specific marks instead of reflectors. Examples of this method are disclosed in U.S. Pat. No. 5,525,883, U.S. Pat. No. 5,911,767, and U.S. Pat. No. 6,496,754. In U.S. Pat. No. 5,911,767, a mobile robot is localized by setting circles as coded signs and recognizing the coded signs. In particular, the robot's position and orientation are obtained using a ratio of two diameters of two concentric circles related to the coded signs discriminated from the environment. In U.S. Pat. No. 6,496,754, a location of a robot is detected using a base mark including two marks, and a shape of an obstacle is recognized using a laser beam. The fourth method uses a vision system and a light source instead of reflectors. An example of this method is disclosed in U.S. Pat. No. 4,797,557.
However, in the conventional methods described above, it is impossible to estimate the global position and orientation of a mobile robot in an entire environment wherein the mobile robot moves, and the accuracy of estimating the position and orientation varies according to a change of illumination condition. Accordingly, it is difficult to use the conventional methods in a general indoor environment such as a house.
According to an aspect of the present invention, there is provided a method of estimating a position and an orientation of a mobile robot, the method comprising: (a) obtaining a ceiling image of a place in which the mobile robot travels; (b) detecting a retro-reflective artificial mark from the ceiling image, the retro-reflective artificial mark comprising a first mark and a second mark, each including a non-reflective portion and an infrared reflective portion; and (c) estimating a position and an orientation of the robot using a position of the artificial mark or encoder information according to whether detection of the artificial mark has succeeded or not. The artificial mark includes a first mark and a second mark composed of a non-reflective portion and an infrared reflective portion, respectively.
According to another aspect of the present invention, there is provided an apparatus for estimating a position and an orientation of a mobile robot, the apparatus comprising: a ceiling image grabber obtaining a ceiling image of a place in which the mobile robot travels; a mark detector detecting a retro-reflective artificial mark from the ceiling image; and a position & orientation estimator estimating a position and an orientation of the robot using a position of the artificial mark or encoder information according to whether detection of the artificial mark has succeeded or not. The artificial mark includes a first mark and a second mark composed of a non-reflective portion and an infrared reflective portion, respectively.
The present invention thus provides an apparatus and method for estimating a position and an orientation of a mobile robot in dark environment or an environment with a severe change of illumination conditions.
According to another aspect of the present invention, there is provided a mobile robot comprising: a ceiling image grabber obtaining a ceiling image of a place in which the mobile robot travels; an image lightness comparator determining whether a light of a current environment is dark or bright by calculating an average intensity of the ceiling image and comparing the calculated average intensity with a predetermined reference value; a light controller controlling a light device attached to the mobile robot according to a determination result of the image lightness comparator; a mark detector detecting a retro-reflective artificial mark including a first mark and a second mark respectively composed of a non-reflective portion and an infrared reflective portion from the ceiling image; a position & orientation estimator estimating a position and an orientation of the robot using a position of the artificial mark or encoder information according to whether detection of the artificial mark has succeeded or not; and a motion controller controlling a motion of the mobile robot according to the position and orientation estimated by the position & orientation estimator.
The present invention also provides a mobile robot employing the above method and apparatus.
According to another aspect of the present invention, there is provided a computer readable medium having recorded thereon a computer readable program for performing the method of estimating a position and an orientation of a mobile robot.
The above and other features and advantages of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which: <ul id="ul0001" list-style="none" compact="compact"><li>FIGS. 1 A, 1B and 1C are examples of an artificial mark used in an embodiment of the present invention;</li><li>FIG. 2 is a block diagram of an apparatus for estimating a position and an orientation of a mobile robot according to an embodiment of the present invention;</li><li>FIG. 3 is a flowchart illustrating a method of estimating a position and an orientation of a mobile robot according to an embodiment of the present invention;</li><li>FIG. 4 is a flowchart illustrating operation 333 of FIG. 3;</li><li>FIG. 5 is a flowchart illustrating operation 342 of FIG. 3;</li><li>FIGS. 6A and 6B are a ceiling image photographed in the daytime and a reverse ceiling image photographed in the nighttime;</li><li>FIGS. 7A and 7B are ceiling images before and after compensating for an image distortion is performed;</li><li>FIGS. 8A through 8C are ceiling images before and after a modeling procedure using an optical center is performed in a distortion compensation processing method;</li><li>FIGS. 9A through 9C are ceiling images before and after an interpolating procedure is performed in a distortion compensation processing method;</li><li>FIG. 10 shows ceiling images before and after a pre-processing procedure is performed; and</li><li>FIGS. 11A and 11B illustrate a method of calculating a position of a mobile robot from a position of a detected artificial mark.</li></ul>
Hereinafter, the present invention will now be described more fully with reference to the accompanying drawings, in which embodiments of the invention are shown.
FIG. 1A is an example of an artificial mark 100 used in an embodiment of the present invention. The artificial mark 100 includes a first retro-reflective mark 110 and a second retro-reflective mark 120. An outer portion 111 of the first mark 110 and an inner portion 123 of the second mark 120 are non-reflective portions covered with an arbitrary color, for example, a black color, and an inner portion 113 of the first mark 110 and an outer portion 121 of the second mark 120 are infrared reflective portions. In an embodiment of the present invention, the artificial mark is located near the center of a ceiling of a place in which a mobile robot travels to perform a predetermined work, but not limited thereto. Also, the first and second marks 110 and 120 have an 11 cm outside diameter and a 7 cm inside diameter, and a distance between the first mark 110 and the second mark 120 is preferably 70 cm, but not limited thereto. In an embodiment of the present invention, the first and second marks 110 and 120 are composed of circles apart from each other at a predetermined distance, but not limited thereto.
When the artificial mark 110 having the pattern as shown in FIG. 1A is used during the daytime, the artificial mark 110 is composed of the outer portion 111 of the first mark 110 and the inner portion 123 of the second mark 120 as shown in FIG. 1 B. During the nighttime, the artificial mark 110 is composed of the inner portion 113 of the first mark 110 and the outer portion 121 of the second mark 120 as shown in FIG. 1 C.
FIG. 2 is a block diagram of an apparatus for estimating a position and an orientation of a mobile robot according to an embodiment of the present invention. Referring to FIG. 2, the apparatus includes a ceiling image grabber 210, an image lightness comparator 220, an image processor 230, a mark detector 240, an encoder information capturer 250, a position & orientation estimator 260, a light controller 270, and a travel controller 280.
The ceiling image grabber 210 may be implemented by a wide-angle lens or a super-wide-angle lens such as a fisheye lens, and obtains a ceiling image of a place in which the mobile robot travels to perform a predetermined work.
The image lightness comparator 220 calculates an average intensity of the ceiling image by dividing a value of summing intensity of every pixels of the ceiling image by the number of all pixels, compares the calculated average intensity to a predetermined reference value, and determines whether a light of a current environment is dark or bright. Here, the reference value is, for example, set to 50 in the case of a 256-gray-scale, and it is determined that the light is bright when the average intensity is more than 50 and the light is dark when the average intensity is less than 50.
The image processor 230 does not perform if it is determined that the light is bright and reverses the ceiling image if it is determined that the light is dark, as a result of image lightness comparison performed by the image lightness comparator 220. FIG. 6A shows a ceiling image including an artificial mark photographed in the daytime, and FIG. 6B shows a reverse ceiling image of a ceiling image including an artificial mark 613 or 615 photographed in the nighttime.
The image processor 230 performs at least one of distortion compensation processing and pre-processing procedures on a non-processed or reversed image. Technology with respect to the distortion compensation processing is described in "Camera Calibration: Three Dimensional Computer Vision" (Oliver Faugeras, MIT Press, 1993). This technology will now be described in detail with reference to FIGS. 7A through 9C.
FIG. 7A is a ceiling image before a distortion compensation processing procedure is performed, and FIG. 7B is the ceiling image after a distortion compensation processing procedure is performed. If an angle of a camera lens used for the ceiling image grabber 210 is getting wider, distortion of the ceiling image is getting severer. Accordingly, since the ceiling image is differently shown from an actual image, a distortion compensation processing procedure is necessary. In detail, a method of performing a modeling procedure by extracting an optical center 811 and using two ellipses 813 composed of the first and second marks 110 and 120 based on the optical center 811 as shown in FIG. 8A may be used. When the distortion compensation processing procedure is performed according to this method, if an error is generated when extracting the optical center 811, a slant image is obtained as shown in FIG. 8B, and if the optical center 811 is exactly extracted, a well compensated image is obtained as shown in FIG. 8C. Here, the optical center 811 is used to obtain a normal view of the ceiling and means a point through which all lights input to a camera pass and is projected on an image pickup device of the camera. A position of the optical center 811 is not changed even if the camera is rotated. When the modeling procedure is performed, a region 911 in which pixels disappear is generated as shown in FIG. 9A. The pixels that disappeared can be restored by an interpolation method. Here, a value of a pixel located in a nearest position to a pixel that disappeared according to a nearest neighbor method (N.N. method) is used as it is as shown in FIG. 9B, or a value obtained by averaging values of pixels near to a pixel to be interpolated is used as shown in FIG. 9C.
The image processor 230 performs a pre-processing procedure of the ceiling image for which the distortion compensation processing procedure is performed. In FIG. 10, a reference number 1010 shows the ceiling image before the pre-processing procedure is performed, and a reference number 1030 shows the ceiling image after the pre-processing procedure is performed. In a pre-processing method, contrast and/or exposure are adjusted using a predetermined constant α and a contrast characteristic graph G1. That is, when the exposure is adjusted by multiplying each pixel of the ceiling image by the constant α, and when the contrast is adjusted so that a dark portion becomes as it is or darker and a bright portion becomes brighter by applying the contrast characteristic graph G1 to the exposure-adjusted ceiling image, resolution of a specific pixel region, i.e., a pixel region including the first and second marks 110 and 120 of the artificial mark 100, is getting higher. However, resolution of the other pixel regions is relatively lower. A following image processing such as a mark detection can be easily performed by making lightness of the artificial mark 100 largely different from a surrounding environment as a pre-processing result.
The mark detector 240 detects a mark candidate point from the ceiling image distortion-compensation-processed and pre-processed by the image processor 230 and detects a position of the artificial mark 100 by filtering the mark candidate points.
The encoder information capturer 250 obtains information of a position and an orientation of the mobile robot from an encoder sensor (not shown) attached to a wheel of the mobile robot.
The position & orientation estimator 260 estimates the position and the orientation of the mobile robot using the position of the artificial mark 100 detected by the mark detector 240 or the information provided by the encoder information capturer 250. That is, when the mark detector 240 has succeeded to positionally detect the artificial mark 100, the position of the artificial mark 100 is used to estimate the position and the orientation of the mobile robot, and when the mark detector 240 has failed to positionally detect the artificial mark 100, the position and orientation of the mobile robot is estimated using the encoder information.
If it is determined that outside light is in a dark state as a result of determination of the image lightness comparator 220, the light controller 270 turns on a light device (not shown) attached to the mobile robot or up a lightness of the light device, and if it is determined that outside light is in a bright state as a result of determination of the image lightness comparator 220, the light controller 270 turns off the light device attached to the mobile robot or reduces the lightness of the light device.
The motion controller 280 controls the mobile robot to travel along a pre-set or planned path using the position and orientation information of the mobile robot obtained by the position & orientation estimator 260.
FIG. 3 is a flowchart illustrating a method of estimating a position and an orientation of a mobile robot according to an embodiment of the present invention.
Referring to FIG. 3, a ceiling image of a place in which a mobile robot travels is obtained using a wide-angle or super wide-angle camera in operation 310.
A light state of a current environment is determined in operation 320. To do this, an average intensity of the ceiling image obtained in operation 310 is calculated in operation 321. It is determined whether the light is in a dark state or a bright state by comparing the calculated average intensity to a predetermined reference value in operation 322. That is, it is determined that the light is in the bright state if the average intensity is larger than the reference value, and the light is in the dark state if the average intensity is smaller than the reference value. When it is determined that the light is in the dark state, the ceiling image is reversed in operation 323.
An artificial mark is detected from the ceiling image in operation 330: To do this, it is determined whether a stored region-of-interest exists in operation 331. As a result of the determination, if the region-of-interest does not exist, the region-of-interest is set to an entire region of the ceiling image in operation 332, and the artificial mark is detected from the entire region of the ceiling image in operation 333. If the region-of-interest exists, the artificial mark is detected from the stored region-of-interest in operation 333.
A position and an orientation of the mobile robot are estimated according to a result of the artificial mark detection in operation 340. To do this, it is determined whether the artificial mark has been detected in operation 341. If the artificial mark has not been detected as a determination result in operation 341, the position and the orientation of the mobile robot are calculated using information provided from an encoder sensor in operation 342. If the artificial mark has been detected as a determination result in operation 341, the position and orientation of the mobile robot are calculated using the artificial mark in operation 343. A method of calculating the position and orientation of the mobile robot using the artificial mark will now be described with reference to FIGS. 11A and 11B.
Referring to FIG. 11A, d indicates a distance between the first mark 110 and the second mark 120, θ indicates an angle between a line obtained by expanding a center Lc of the artificial mark 100 toward the x-axis and a line connecting the first mark 110 and the second mark 120, that is, a slope angle of the artificial mark 100 against the x-axis, and Rp indicates a current position of the mobile robot.
A position and an orientation of the mobile robot can be estimated by performing shift, rotation, and flip processes with respect to the position of the artificial mark 100. Accordingly, the current position of the mobile robot in FIG. 11 B is given by Equation 1.<maths id="math0001" num=""><img file="EP1517210A2_D0001.tif" /></maths>
Here,<maths id="math0002" num=""><img file="EP1517210A2_D0002.tif" /></maths> indicates a world coordinate point, and<maths id="math0003" num=""><img file="EP1517210A2_D0003.tif" /></maths> indicates a coordinate point of the mobile robot in a camera image.
The conversion functions H<sub>shift</sub>, H<sub>rotation</sub>, H<sub>flip</sub>, and H<sub>scale</sub> of Equation 1 can be represented as shown in Equation 2.<maths id="math0004" num=""><img file="EP1517210A2_D0004.tif" /></maths>
Here, (t<sub>x</sub>, t<sub>y</sub>) indicates a coordinate point of the center Lc of the artificial mark 100, θ indicates a slope angle of the artificial mark 100, and s indicates a value obtained by dividing an actual physical distance of the artificial mark 100 by an image distance of the artificial mark 100.
Traveling of the mobile robot is controlled by using the calculated position and orientation of the mobile robot in operation 344.
FIG. 4 is a flowchart illustrating operation 333 of FIG. 3.
Referring to FIG. 4, a distortion compensation processing procedure as described using FIGS. 7A and 7B, 8A through 8C and 9A through 9C is performed with respect to the obtained ceiling image in operation 411. A pre-processing procedure as described in FIG. 10 is performed with respect to the distortion-compensation-processed ceiling image in operation 412.
In operation 413, an intensity value of each pixel of the pre-processed ceiling image is compared to a predetermined reference value, and binarization is performed by applying "1" to a value of the pixel if the intensity value is larger than the reference value and applying "0" to the value of the pixel if the intensity value is smaller than the reference value. Contour matching is performed with respect to the binarized ceiling image in operation 414. A contour matching method of detecting a contour of a region separated by an artificial mark and comparing the contour to a contour of a stored artificial mark is described in "Visual Pattern Recognition by Moment Invariants" (M. Hu. IRE Transactions on Information Theory, 8:2, pp. 179-187, 1962).
Candidate regions are extracted from the ceiling image using geometrical information of the artificial mark 100 in operation 415. Reliability values of the candidate regions are calculated by performing template matching with respect to the candidate regions in operation 416. A template matching method using normalized correlations is described in "Digital Image Processing" (Rafael C. Gonzalez, Richard E. Woods, pp. 583-586, 1992). A reliability value (γ(s, t)) calculated by the template matching can be represented as shown in Equation 3.<maths id="math0005" num=""><img file="EP1517210A2_D0005.tif" /></maths>
Here, f indicates an input candidate region, <maths id="math0006" num=""><math display="inline"><mrow><mover accent="true"><mrow><mtext mathvariant="italic">f</mtext></mrow><mo>¯</mo></mover></mrow></math><img file="EP1517210A2_D0006.tif" /></maths> indicates an average value of pixels included in the candidate region f(x, y) in a region matched to a current position of the artificial mark 100, w indicates an image of the artificial mark 100, i.e., a template image, and w indicates an average value of pixels included in the image w(x, y) of the artificial mark 100.
The largest reliability value among the reliability values of the candidate regions calculated as a template matching result is selected in operation 417. The selected reliability value is compared to a predetermined reference value in operation 418. As a comparison result, if the selected reliability value is larger than the reference value, it is determined that detection of the artificial mark 100 succeeds in operation 419, and if the selected reliability value is smaller than the reference value, it is determined that detection of the artificial mark 100 fails in operation 420.
FIG. 5 is a flowchart illustrating operation 342 of FIG. 3.
Referring to FIG. 5, a current position (x, y) and orientation θ of the mobile robot is an input in operation 511. The numbers of pulses (N<sub>L</sub>, N<sub>R</sub>) output from encoder sensors (not shown) attached to left and right wheels of the mobile robot are inputs in operation 513.
A next position and a next orientation of the mobile robot is obtained using the input current position (x, y) and orientation θ of the mobile robot and the numbers of pulses (N<sub>L</sub>, N<sub>R</sub>) output from the encoder sensors in operation 515. To do this, a constant value c<sub>m</sub> for converting the number of encoder pulses to a distance actually moved by the wheels is calculated as shown in Equation 4.<maths id="math0007" num=""><math display="block"><mrow><mtext>[Equation 4]</mtext><mspace linebreak="newline" /><msub><mrow><mtext mathvariant="italic">c</mtext></mrow><mrow><mtext mathvariant="italic">m</mtext></mrow></msub><mtext> = π</mtext><msub><mrow><mtext mathvariant="italic">D</mtext></mrow><mrow><mtext mathvariant="italic">n</mtext></mrow></msub><mtext>/</mtext><msub><mrow><mtext mathvariant="italic">nC</mtext></mrow><mrow><mtext mathvariant="italic">e</mtext></mrow></msub></mrow></math><img file="EP1517210A2_D0007.tif" /></maths>
Here, D<sub>n</sub> indicates a diameter of the wheel, C<sub>e</sub> indicates a resolution of the encoder, i.e., the number of encoder pulses per 1 revolution, and n indicates a gear ratio between a motor to which the encoder is installed and the wheel.
A traveling distance <i>ΔU</i><sub><i>L</i></sub><sub>/<i>R</i>,</sub><sub><i>i</i></sub> of each of left and right wheels actually moved by the number of encoder pulses is calculated as shown in Equation 5.<maths id="math0008" num=""><math display="block"><mrow><mtext>[Equation 5]</mtext><mspace linebreak="newline" /><mtext> Δ</mtext><msub><mrow><mtext mathvariant="italic">U</mtext></mrow><mrow><mtext mathvariant="italic">L</mtext><mtext>/</mtext><mtext mathvariant="italic">R, i</mtext></mrow></msub><mtext> = </mtext><msub><mrow><mtext mathvariant="italic">c</mtext></mrow><mrow><mtext mathvariant="italic">m</mtext></mrow></msub><mtext></mtext><msub><mrow><mtext mathvariant="italic">N</mtext></mrow><mrow><mtext mathvariant="italic">L</mtext><mtext>/</mtext><mtext mathvariant="italic">R, i</mtext></mrow></msub></mrow></math><img file="EP1517210A2_D0008.tif" /></maths>
Here, <i>N</i><sub><i>L</i>/<i>R,i</i></sub> indicates the number of pulses of encoder sensors attached to the left and right wheels of the mobile robot at a time i.
An average movement distance displacement Δ<i>U</i><sub><i>i</i></sub> the wheel center and a converted azimuth displacement Δθ<sub><i>i</i></sub> can be represented as shown in Equation 6 and Equation 7.<maths id="math0009" num=""><math display="block"><mrow><mtext>[Equation 6]</mtext><mspace linebreak="newline" /><mtext> Δ</mtext><msub><mrow><mtext mathvariant="italic">U</mtext></mrow><mrow><mtext mathvariant="italic">i</mtext></mrow></msub><mtext> = (Δ</mtext><msub><mrow><mtext mathvariant="italic">U</mtext></mrow><mrow><mtext mathvariant="italic">R</mtext></mrow></msub><mtext> + Δ</mtext><msub><mrow><mtext mathvariant="italic">U</mtext></mrow><mrow><mtext mathvariant="italic">L</mtext></mrow></msub><mtext>)/2</mtext></mrow></math><img file="EP1517210A2_D0009.tif" /></maths><maths id="math0010" num=""><math display="block"><mrow><mtext>[Equation 7]</mtext><mspace linebreak="newline" /><msub><mrow><mtext> Δθ</mtext></mrow><mrow><mtext mathvariant="italic">i</mtext></mrow></msub><mtext> = (Δ</mtext><msub><mrow><mtext mathvariant="italic">U</mtext></mrow><mrow><mtext mathvariant="italic">R</mtext></mrow></msub><mtext> - Δ</mtext><msub><mrow><mtext mathvariant="italic">U</mtext></mrow><mrow><mtext mathvariant="italic">L</mtext></mrow></msub><mtext>)/</mtext><mtext mathvariant="italic">b</mtext></mrow></math><img file="EP1517210A2_D0010.tif" /></maths>
Here, b indicates a distance between the left wheel and the right wheel.
Updating of the position and the orientation of the mobile robot at a time i can be performed using Equation 8.<maths id="math0011" num=""><math display="block"><mrow><mtext>[Equation 8]</mtext><mspace linebreak="newline" /><msub><mrow><mtext mathvariant="italic">x</mtext></mrow><mrow><mtext mathvariant="italic">i</mtext></mrow></msub><mtext> = </mtext><msub><mrow><mtext mathvariant="italic">x</mtext></mrow><mrow><mtext mathvariant="italic">i-1</mtext></mrow></msub><mtext> + Δ</mtext><msub><mrow><mtext mathvariant="italic">U</mtext></mrow><mrow><mtext mathvariant="italic">i</mtext></mrow></msub><msub><mrow><mtext> cosθ</mtext></mrow><mrow><mtext mathvariant="italic">i</mtext></mrow></msub><mspace linebreak="newline" /><msub><mrow><mtext mathvariant="italic">y</mtext></mrow><mrow><mtext mathvariant="italic">i</mtext></mrow></msub><mtext> = </mtext><msub><mrow><mtext mathvariant="italic">y</mtext></mrow><mrow><mtext mathvariant="italic">i-1</mtext></mrow></msub><mtext> + Δ</mtext><msub><mrow><mtext mathvariant="italic">U</mtext></mrow><mrow><mtext mathvariant="italic">i</mtext></mrow></msub><msub><mrow><mtext> sinθ</mtext></mrow><mrow><mtext mathvariant="italic">i</mtext></mrow></msub><mspace linebreak="newline" /><msub><mrow><mtext> θ</mtext></mrow><mrow><mtext mathvariant="italic">i</mtext></mrow></msub><msub><mrow><mtext> = θ</mtext></mrow><mrow><mtext mathvariant="italic">i</mtext><mtext>-</mtext><mtext mathvariant="italic">1</mtext></mrow></msub><msub><mrow><mtext> + Δθ</mtext></mrow><mrow><mtext mathvariant="italic">i</mtext></mrow></msub></mrow></math><img file="EP1517210A2_D0011.tif" /></maths>
The invention can also be embodied as computer readable codes on a computer readable recording medium. The computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Examples of the computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission through the Internet). The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. Also, functional programs, codes, and code segments for accomplishing the present invention can be easily construed by programmers skilled in the art to which the present invention pertains.
As described above, the position and orientation of a mobile robot can be estimated in a real time using an image processing procedure with less noise in an environment of a dark light or a severe light change. Also, the image processing procedure for mark detection can be simplified by installing a few number of artificial marks on a ceiling of a place in which the mobile robot travels and detecting the artificial marks using a pattern recognition method.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the scope of the present invention as defined by the following claims.
23 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| WO2008013355A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US11119501B2 | Cited by | United States of America | Applicant |
| EP3502822A1 | Cited by | European Patent Office (EPO) | Search report |
| US10112302B2 | Cited by | United States of America | Applicant |
| US8676380B2 | Cited by | United States of America | Applicant |
| US8027515B2 | Cited by | United States of America | Applicant |
| GB2529846B | Cited by | United Kingdom | Search report |
| GB2529846A | Cited by | United Kingdom | Search report |
| EP2136970A4 | Cited by | European Patent Office (EPO) | Search report |
| WO2007052859A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US10144342B2 | Cited by | United States of America | Applicant |
| EP0363339A2 | Cites | European Patent Office (EPO) | Search report |
| US2002091466A1 | Cites | United States of America | Search report |
| DE4023952A1 | Cites | Germany | Search report |
| US4647784A | Cites | United States of America | Search report |
| US4817000A | Cites | United States of America | Search report |
| US4947094A | Cites | United States of America | Search report |
| US5875408A | Cites | United States of America | Search report |
11 members in 5 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 20030064242 | Republic of Korea | A | |
| 20030064242 | Republic of Korea | A | |
| 2003064242 | Republic of Korea | – | |
| 2003064242 | – | – | – |
| KR20030064242 | – | – | – |
Members11
| Document | Office | Kind | |
|---|---|---|---|
| KR20050027858A | Republic of Korea | A | |
| CN1598610A | China | A | |
| EP1517210A2This record | European Patent Office (EPO) | A2 | |
| US2005065655A1 | United States of America | A1 | |
| JP2005121641A | Japan | A | |
| KR100552691B1 | Republic of Korea | B1 | |
| EP1517210A3 | European Patent Office (EPO) | A3 | |
| US7765027B2 | United States of America | B2 | |
| JP4533065B2 | Japan | B2 | |
| CN1598610B | China | B | |
| EP1517210B1 | European Patent Office (EPO) | B1 |
37 legal events, as 4 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Gb: european patent ceased through non-payment of renewal feeCeasedGBPC | GBPC | EP | |
| Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal feeWithdrawnR119 | R119 | DE | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Fee paymentPLFP | PLFP | FR | |
| Fee paymentPLFP | PLFP | FR | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Fee paymentPLFP | PLFP | FR | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| No opposition filedOpposition26N | 26N | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| No opposition filed against granted patent, or epo opposition proceedings concluded without decisionGrantedR097 | R097 | DE | |
| Dpma publication of mentioned ep patent grantGrantedR096 | R096 | DE | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedFG4D | FG4D | GB | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Grant fee paidORIGINAL CODE: EPIDOSNIGR3GRAS | GRAS | EP | |
| Intention to grant announcedINTG | INTG | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| Party data changed (applicant data changed or rights of an application transferred)RAP1 | RAP1 | EP | |
| Designation fees paidAKX | AKX | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Request for extension of the european patentAX | AX | EP | |
| Search report despatchedORIGINAL CODE: 0009013PUAL | PUAL | EP | |
| Information on inventor provided before grant (corrected)RIN1 | RIN1 | EP | |
| Information on inventor provided before grant (corrected)RIN1 | RIN1 | EP | |
| Information on inventor provided before grant (corrected)RIN1 | RIN1 | EP | |
| Designated contracting statesAK | AK | EP | |
| Request for extension of the european patentAX | AX | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 1517210
- Publication, DOCDB
- 1517210
- Publication, EPODOC
- EP1517210
- Application
- 4255550
- Application, DOCDB
- 04255550
- Application, EPODOC
- EP20040255550
Titles3
- German
- Verfahren und Vorrichtung zur Bestimmung der Position und der Orientierung eines mobilen Roboters
- English
- Apparatus and method for estimating position and orientation of mobile robot
- French
- Appareil et procédé pour estimer la position et l'orientation d'un robot mobile
Classification
- CPC, 3
- G05D1/0253
- G06F17/10
- G05D1/0234
- IPC, 5
- G01C15 06
- G01B11 00
- G01C15 00
- G05D1 02
- G06F17 10
Designated states33
- Contracting states, 28
- Austria
- Belgium
- Bulgaria
- Switzerland
- Cyprus
- Czechia
- Germany
- Denmark
- Estonia
- Spain
- Finland
- France
- United Kingdom
- Greece
- Hungary
- Ireland
- Italy
- Liechtenstein
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
- Poland
- Portugal
- Romania
and 4 moreShow fewer
- Sweden
- Slovenia
- Slovakia
- Türkiye
- Extension states, 5
- Albania
- Croatia
- Lithuania
- Latvia
- North Macedonia