1. Field
The present invention relates to a robot control, and more particularly, to a robot localization system for controlling a position and an orientation of a robot.
2. Description of the Related Art
Methods or apparatuses for localization of a robot uses dead-reckoning such as odometry and inertial navigation, for measuring a relative position of a robot; a global positioning system (GPS), active beacons, etc., for measuring an absolute position of a robot; and a magnetic compass for measuring an absolute orientation of a robot. Approaches for robot localization are described in detail in “Mobile Robot Positioning Sensors and Techniques” by J. Borenstein, H. R. Everett, L. Feng, and D. Wehe.
Korean Patent Publication No. 2000-66728, entitled “Robot Having Function of Detecting Sound Direction and Motion Direction and Function of Automatic Intelligent Charge and Method of Controlling the Same,” discloses an algorithm for measuring a sound direction and controlling the robot to move to an automatic charger. When the charger generates a sound having a particular frequency, the robot detects a direction of the sound, locks on the detected direction, and docks to the charger. According to this technique, only a motion direction of a robot can be measured and controlled.
Korean Patent Publication No. 2002-33303, entitled “Apparatus for Detecting Position of Robot in Robot Soccer Game,” discloses an apparatus for detecting a position of a robot using a plurality of beacons. Here, only positions without an orientation are detected.
The present invention provides a method and apparatus for performing localization using a single beacon.
The present invention also provides a robot localization system using a radio wave.
According to an aspect of the present invention, there is provided a robot localization system including a robot, which moves within a predetermined space and performs predetermined tasks, and a docking station corresponding to a home position of the robot. The docking station includes a first transmitting unit, which transmits a sound wave to detect a position of the robot; and a second transmitting unit, which transmits a synchronizing signal right when the sound wave is transmitted. The robot includes a first receiving unit, which comprises at least two sound sensors receiving the sound wave incident onto the robot; a second receiving unit, which receives the synchronizing signal incident onto the robot; a distance calculation unit, which calculates a distance between the first transmitting unit and the first receiving unit using a difference between an instant of time when the synchronizing signal is received and an instant of time when the sound wave is received; and an incident angle calculation unit, which calculates an incident angle of the sound wave onto the robot using a difference between receiving times of the sound wave in the at least two sound sensors comprised in the first receiving unit. The sound wave is a supersonic wave.
The robot localization system may further include an encoder, which measures a positional change between a previous position and a current position of the robot and a directional change between a previous orientation and a current orientation of the robot.
The robot localization system may further include a state observer, which estimates a current position and a current orientation of the robot with respect to the docking station using the distance between the first transmitting unit and the first receiving unit, the incident angle of the sound wave, the positional change, and the directional change. The state observer includes a Kalman filter.
The robot localization system may further include a unit for measuring an absolute azimuth of the robot. The robot localization system may further include a Kalman filter.
According to another aspect of the present invention, there is provided a robot localization system including a robot and a docking station. The robot includes a first transmitter which transmits a first radio wave, a second receiver which receives a second radio wave, and a distance calculator which calculates a distance between the robot and the docking station. The docking station includes a first receiver which receives the first radio wave, and a second transmitter which transmits the second radio wave a predetermined period of time after the first radio wave is received. The distance calculator calculates the distance between the robot and the docking station using a difference between an instant of time when the first radio wave is transmitted and an instant of time when the second radio wave is received and a predetermined period of time from the reception of the first radio wave to the transmission of the second radio wave.
The second receiver may include at least two sensors which receives the second radio wave, and the robot further includes an incident angle calculator which calculates an incident angle of the second radio wave onto the robot using a difference between receiving times of the second radio wave in the at least two sensors comprised in the second receiver.
The robot localization system may further include an encoder, which measures a positional change between a previous position and a current position of the robot and a directional change between a previous orientation and a current orientation of the robot.
The robot localization system may further include a state observer, which estimates a current position and a current orientation of the robot with respect to the docking station using the distance between the robot and the docking station, the incident angle of the second radio wave, the positional change, and the directional change. Here, the state observer includes a Kalman filter.
The robot localization system may further include a unit for measuring an absolute azimuth of the robot. Here, the robot localization system further includes a Kalman filter.
The above and other features and advantages of the present invention will become more apparent by describing in detail preferred embodiments thereof with reference to the attached drawings in which:
Hereinafter, the structure and operation of a robot localization system according to the present invention will be described in detail with reference to the attached drawings.
A robot localization system according to the present invention includes a robot, which moves within a predetermined space and performs predetermined tasks, and a docking station corresponding to a home position of the robot.
The first transmitting unit 301 transmits a signal, for example, a supersonic wave, in order to detect a position of the robot 310. The second transmitting unit 302 transmits a synchronizing signal right when the supersonic wave is transmitted in order to measure a distance between the docking station 300 and the robot 310 using a time difference between transmission and reception of the supersonic wave. The synchronizing signal is much faster than the supersonic wave and can be implemented by infrared (IR) or radio frequency (RF).
The first receiving unit 311 includes two or more supersonic sensors which receive the supersonic wave which is transmitted from the docking station 300 and incident onto the robot 310. The second receiving unit 312 receives the synchronizing signal transmitted from the docking station 300 and incident onto the robot 310. The incident angle calculation unit 313 calculates an incident angle θ of the supersonic wave onto the robot 310 using a difference between receiving times of the supersonic wave in the two or more supersonic sensors provided in the first receiving unit 311. The distance calculation unit 314 calculates a distance between the first transmitting unit 301 and the first receiving unit 311 using a difference between an instant of time when the synchronizing signal is received and an instant of time when the supersonic wave is received. In other words, a distance L between the docking station 300 and the robot 310 is calculated.
As shown in
L=Δt·c
s (1)
Here, cs indicates the speed of sound, i.e., 340 m/sec, and Δt indicates a time difference between transmission of a supersonic wave from the docking station 300 and reception of the supersonic wave by the robot 310.
Referring to
Here, t1 indicates an instant of time when the supersonic wave is received by a first supersonic sensor, t2 indicates an instant of time when the supersonic wave is received by a second supersonic sensor, R indicates a radius of a circle, which has the center (O′ shown in
However, when
for example, when two supersonic sensors are provided in the first receiving unit 311, the incident angle θ is calculated according to Formula (3).
The robot 310 can determine the position and the direction of the docking station 300 from (L,θ) using Formulae (1) through (3). However, the docking station 300 cannot determine the current position of the robot 300 only from (L, θ). Referring to
The encoder 315 measures a change between a previous position and a current position and a change between a previous orientation and a current orientation. Then, the encoder 315 informs the robot 310 of the measured changes, and based on this the robot 310 controls its position or orientation. It is possible to currently localize the robot 310 by integrating differences given by changes in a position and an orientation of the robot 310 using the encoder 315. If an integration error does not occur, localization of the robot 310 is possible only with the encoder 315. As in a case of using an odometer, such localization using the encoder 315 is roughly accurate during a short period of time, but integration errors accumulate quickly due to sampling errors.
The state observer 316 estimates the current position and orientation of the robot 310 with respect to the docking station 300 using the distance L, incident angle θ, and the positional change and the orientation change measured by the encoder 315. The state observer 316 may include a Kalman filter.
In the robot localization system shown in
{dot over (x)}(t)=v(t) cos γ(t)
{dot over (y)}(t)=v(t) sin γ(t)
{dot over (γ)}(t)=ω(t) (4)
Here, v(t) indicates a linear velocity command, and ω(t) indicates an angular velocity command.
Accordingly, a discrete system modeling of the robot localization system of the present invention is expressed using Formula (5).
dX(t)=F(X(t),U(t))dt+drη(t)
X(t)=[x(t)y(t)γ(t)]T
U(t)=[v(t)ω(t)]
F(X(t),U(t))=[v(t)cos γ(t)v(t)sin γ(t)ω(t)]T
E(dη(t)·dη(t)T)=Q(t)dt (5)
Here, η(t) indicates noise in the discrete system, E(*) indicates an average of *, and Q(t) indicates a covariance matrix of noise.
Modeling for measurement of the robot localization system of the present invention is expressed using Formula (6).
Here, T indicates a sampling time. μ(kT) indicates measurement noise of the encoder 315 or the first receiving unit 311. x(kT), y(kT), and y(kT) indicate position and orientation values of the robot 310 measured using the encoder 315. L(kT) and θ(kT) indicate a distance between the robot 310 and the docking station 300 and direction of the docking station 300 measured using the first receiving unit 311.
When a unit for measuring an absolute azimuth of the robot 310, for example, a gyroscope or a magnetic compass, is provided, γ(kT) can be replaced with a value measured by this absolute azimuth measurement unit.
The robot motion controller 800 outputs a linear velocity command (v(t)) and an angular velocity command (ω(t)) in order to change a position and an orientation of the robot. In response to the linear velocity command and the angular velocity command, the system estimator 821 outputs a system estimation vector {circumflex over (X)}(k+1,k). The system estimation vector {circumflex over (X)}(k +1,k) is expressed using Formula (7).
Here, L(k) indicates a transformation matrix which linearizes U(k).
The observation estimator 822 converts the system estimation vector {circumflex over (X)}(k+1,k) into an observation estimation vector {circumflex over (Z)}(k+1). The observation estimation vector {circumflex over (Z)}(k+1) is expressed as Formula (8) when the sampling time is 1.
{circumflex over (Z)}(k+1)=G({circumflex over (X)}(k+1,k))+μ(k) (8)
The measurement unit 810 outputs a position measurement value Z(k+1) of the robot using an encoder 811, a supersonic sensor 812, etc. The adder 823 adds the position measurement value Z(k+1) and the observation estimation vector {circumflex over (Z)}(k+1). The Kalman filter 824 calculates an optimal estimation vector {circumflex over (X)}(k+1,k+1) using Formula (9).
{circumflex over (X)}(k+1,k+1)={circumflex over (X)}(k+1,k)+K(k+1)·[Z(k+1)−{circumflex over (Z)}(k+1)] (9)
To calculate the optimal estimation vector {circumflex over (X)}(k+1,k+1), the Kalman filter 824 uses parameters shown in Formula (10).
The unit time delay section 825 updates a time step in a discrete analysis based on time-marching. In other words, due to the operation of the unit time delay section 825, a current optimal estimation vector {circumflex over (X)}(k+1,k+1) becomes a previous optimal estimation vector X(k,k), which is used in a subsequent calculation.
The encoder 917 measures a change between a previous position and a current position and a change between a previous orientation and a current orientation.
The absolute azimuth measurement unit 915 measures an absolute azimuth (γ) of the robot 910. The absolute azimuth measurement unit 915 may be implemented as a gyroscope or a magnetic compass. Since the absolute azimuth measured by, for example, a gyroscope contains measurement noise, the state observer 916 including a Kalman filter is used to obtain an optimal output.
In the above embodiments, the structure and operations of a robot localization system using a sound wave, and particularly, a supersonic wave have been described.
Hereinafter, an embodiment of a robot localization system using a radio wave will be described.
L=Δt·c
L (11)
Here, cL indicates the speed of light, and Δt indicates a time difference between an instant of time when the robot transmits a first radio wave and an instant of time when the docking station receives the first radio wave.
Referring to
Here, in view of the robot, Tround is a measured value, and TM is a known value.
To measure a distance between the robot and the docking station using Formulae (11) and (12), the robot includes a first transmitter, a second receiver, and a distance calculator, and the docking station includes a first receiver and a second transmitter.
The first transmitter transmits a first radio wave. The first transmitter is disposed at an appropriate position, for example, the position denoted by the reference numeral 312 shown in
The second receiver receives a second radio wave. The second receiver is disposed at an appropriate position, for example, the position denoted by the reference numeral 311 shown in
Accordingly, the second receiver is disposed at only one appropriate position among the positions denoted by the reference numeral 311.
The distance calculator calculates, for example, the distance L between the robot 310 and the docking station 300 shown in
The first receiver receives the first radio wave. The first receiver is disposed at an appropriate position, for example, the position denoted by the reference numeral 301 shown in
The second transmitter transmits the second radio wave. The second transmitter is disposed at an appropriate position, for example, the position denoted by the reference numeral 302 shown in
In a robot localization system using a radio wave according to another embodiment of the present invention, the robot may include at least two radio wave sensors in the second receiver in order to determine an orientation of the docking station. For example, each radio wave sensor may be disposed at one of the positions denoted by the reference numeral 311 shown in
The structure and operations of the robot localization system using a radio wave are the same as those of the robot localization system using a supersonic wave, with the exception that a radio wave is used instead of a supersonic wave.
As described above, according to a robot localization system of the present invention, a position and a direction toward a stationary docking station can be measured using a single beacon provided in the docking station and a supersonic sensor provided in a robot. In addition, it is possible to localize the robot with respect to the docking station using an additional Kalman filter. In addition, robot localization using a radio wave is also possible.
Although a few embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that changes may be made in these elements without departing from the principles and spirit of the invention, the scope of which is defined in the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2002-87154 | Dec 2002 | KR | national |
This application is a divisional of U.S. patent application Ser. No. 10/747,228, filed Dec. 30, 2003 in the U.S. Patent and Trademark Office, the disclosure of which is incorporated herein by reference. This application claims the priority of Korean Patent Application No. 2002-87154, filed on Dec. 30, 2002, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 10747228 | Dec 2003 | US |
Child | 13113790 | US |