Method for positioning a mobile robot and a mobile robot implementing the same

First and second positioning devices disposed at first and second stationary locations transmit first and second pilot signals, respectively. Transmission coverages of the first and second pilot signals have an area of overlap. When a mobile robot moves to the area of overlap, the mobile robot determines first angular orientation information between the mobile robot and the first positioning device, and second angular orientation information between the mobile robot and the second positioning device. The mobile robot then determines an initial position of the mobile robot based on the first stationary location, the second stationary location, the first angular orientation information, and the second angular orientation information.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority of Chinese application no. 201310185934.2, filed on May 17, 2013.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method for positioning a mobile robot and a mobile robot to implement the same.

2. Description of the Related Art

In the prior art, a cleaning robot usually performs exploration of a surrounding space, as a spatial reference for moving around in that space. For example, the cleaning robot will first detect the area of surrounding space, learning the positions of obstacles and specific landmarks. Therefore, in the cleaning process, an optimized cleaning route can be generated for avoiding obstacles or approaching landmarks.

There are two common types of environment exploration schemes. The first type utilizes the cleaning robot to simultaneously record the path scenery using a camera device while moving and record the coordinates of the cleaning robot, and then combines the path scenery and the recorded coordinates to map out the entire surrounding space. The second type utilizes a laser device on the cleaning robot to output a laser of a fixed intensity, which is reflected by obstacles. The cleaning robot calculates the distance between the obstacles and itself based on the detected strength of the reflected laser, obtaining the map information of the surrounding space.

However, the camera device and the laser device are sophisticated electronic products of high manufacturing cost. The cleaning robot with the camera device also has to be equipped with a high-end processor for image comparison of scenery images. These high cost factors reduce price competitiveness of the cleaning robot in the market.

Additionally, when the cleaning robot is moving, it may encounter terrains that are uneven or sloped, and therefore there is a need to adjust the motor to control the rotation speed of left and right wheels of the cleaning robot for adjusting the movement direction of the cleaning robot. However, even if the processor of the cleaning robot has provided the desired motor operation information in accordance with path conditions, inaccuracy in the actual motor speed and wear of the wheels may cause the cleaning robot to be unable to move in a desired direction, and thus gradually accumulates path error. As a result, the cleaning robot is not able to move precisely in accordance with the acquired map information.

SUMMARY OF THE INVENTION

The object of the present invention is to provide a positioning method for a mobile robot that can reduce path error of the mobile robot while moving.

According to one aspect of the present invention, the positioning method for a mobile robot includes the steps of:

transmitting, by a first positioning device that is disposed at a first stationary location relative to the mobile robot, a first pilot signal;

transmitting, by a second positioning device that is disposed at a second stationary location relative to the mobile robot and the first positioning device, a second pilot signal, wherein a transmission coverage of the second pilot signal has an area of overlap with a transmission coverage of the first pilot signal;

moving, by the mobile robot, to the area of overlap;

determining, by the mobile robot, first angular orientation information between the mobile robot and the first positioning device, and second angular orientation information between the mobile robot and the second positioning device; and

determining, by the mobile robot, an initial position of the mobile robot based on the first stationary location, the second stationary location, the first angular orientation information, and the second angular orientation information.

Another object of the present invention is to provide a mobile robot to implement the positioning method of this invention.

According to another aspect of the present invention, the mobile robot is for use with a first positioning device and a second positioning device. The first positioning device is to be disposed at a first stationary location relative to the mobile robot and is configured to transmit a first pilot signal. The second positioning device is to be disposed at a second stationary location relative to the mobile robot and the first positioning device and configured to transmit a second pilot signal. A transmission coverage of the second pilot signal has an area of overlap with a transmission coverage of the first pilot signal. The mobile robot comprises:

a housing;

a motion module disposed in the housing and operable to drive movement of the housing;

a pilot signal detector disposed on the housing and configured to detect the first pilot signal and the second pilot signal; and

a processor disposed in the housing and coupled electrically to the motion module and the pilot signal detector;

wherein the processor is configured tocontrol the motion module to move the housing to the area of overlap,determine first angular orientation information between the pilot signal detector and the first positioning device, and second angular orientation information between the pilot signal detector and the second positioning device when the housing is at the area of overlap, anddetermine an initial position of the mobile robot based on the first stationary location, the second stationary location, the first angular orientation information, and the second angular orientation information.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring toFIG. 1, a first embodiment of the mobile robot10of the present invention is capable of moving in a space20that is provided with a positioning device30. The mobile robot10can perform position calibration based on a pilot signal transmitted by the positioning device30. In this embodiment, while the mobile robot10is moving, the positioning device30is disposed at a stationary location relative to the mobile robot10, and the positioning device30may be implemented as a charger, a beacon for defining a virtual wall, or other devices that are capable of transmitting the pilot signal.

Referring toFIG. 2, the mobile robot10of this embodiment includes a housing11, and a processor12, a motion module13and a pilot signal detector15which are disposed at the housing11. The processor12is electrically coupled with the motion module13and the pilot signal detector15.

The pilot signal detector15is used for detecting the pilot signal sent by the positioning device30. The processor12, according to the information detected by the pilot signal detector15, commands the motion module13to move and rotate the housing11. When the motion module13drives the housing11to move, the components in the housing11of the mobile robot10move together as well. Likewise, when the motion module13drives the housing11to rotate, the components inside the housing11of the motion module13will rotate together as well.

The motion module13includes a plurality of wheels (not shown). As shown inFIG. 3, the housing11may have an annular lateral side and a body having a bottom surface that is substantially flat and round, and the pilot signal detector15is disposed along a portion of the annular lateral side of the housing11.

The mobile robot10of the present invention implements the positioning method of the first embodiment by using the pilot signal detector15to detect the pilot signal transmitted by the positioning device30for realizing positioning calibration of the mobile robot10. In this embodiment, Received Signal Strength Indication (RSSI) of the pilot signal is detected, but other characteristics of the pilot signal may be used. The emission power of the pilot signal emitted by the positioning device30can be controlled externally, and the mobile robot10is notified of the emission power. Referring toFIG. 1, the pilot signal strength is typically the strongest at the positioning device30, and gradually decreases away from the positioning device30. More specifically, “signal strength of the detected pilot signal” will be inversely proportional to “the distance between the mobile robot10and the positioning device30,” as shown inFIG. 4.

Referring toFIG. 5, the positioning method includes the steps of:

Step71: The housing11is driven by the motion module13to move in a space20(displacement and rotation), until the pilot signal detector15detects the pilot signal.

Step72: The housing11moves a sampling distance.

Step73: The processor12determines whether the emission power of the pilot signal detected by the pilot signal detector15reaches a predetermined power level. If yes, the flow proceeds to step76. Otherwise, the flow proceeds to step74.

Step74: The processor12determines whether the signal strength of the pilot signal detected by the pilot signal detector15has increased. If yes, the flow returns to step72. Otherwise, the flow proceeds to step75.

Step75: The processor12commands the motion module13to drive the housing11to rotate by a predetermined angle, and the flow returns to step72.

Preferably, in the first time of execution of step75, the housing11is rotated clockwise 90°, and in the subsequent executions of step75, the housing11is rotated 180° in the direction opposite to the direction of rotation in the previous execution of step75. In another application, in the first time of execution of step75, the housing11is rotated counterclockwise 90°. The angle of rotation in the first time of execution of step75is not limited to 90° clockwise or counter-clockwise, and may be 15°, 30°, 45°, 60°, 75° or any other predetermined angle.

Step76: The processor12records the current position of the housing11as the location of the positioning device30transmitting the pilot signal.

Subsequently, when the mobile robot10, which previously does not detect any pilot signal while moving in space20, detects the pilot signal once again, the mobile robot10will again perform the steps72to75of the positioning method, and the position of the mobile robot10is calibrated to become the location of the positioning device30obtained in step76.

Accordingly, the accumulation of path error due to various internal factors and environmental factors while the mobile robot10travels on space20can be corrected by performing the above-mentioned positioning method for calibration of the position of the mobile robot10to the one obtained in step76.

In the present embodiment, the positioning device30, as shown inFIG. 2, includes a ZigBee transmission module31having an omni-directional antenna (not shown). The pilot signal detector15includes a ZigBee transmission module151having a directional antenna (not shown). The beam pattern of the directional antenna is represented by the solid line drawn inFIG. 6, which has maximum reception characteristic in a particular direction (i.e., 0°). ZigBee transmission protocol mainly operates in the frequency band with center frequency at 2.45 GHz, supports 250 kbps data transfer rate, and has effective transmission coverage of up to 100 to 400 meters. The ZigBee transmission standard is implemented using miniature circuits, and provides low cost and low power consumption benefits. Therefore, the mobile robot10in the present embodiment utilizes the ZigBee transmission modules151,31to effectively reduce manufacturing cost and power consumption. In other applications, radio frequency identification (RFID), Bluetooth and other low-cost transmission modules can be used to replace the ZigBee transmission modules151,31.

Referring toFIG. 7, as compared to the first embodiment of the present invention, the mobile robot10of the second embodiment is different in that: A first positioning device30aand a second positioning device30bare disposed in a space20. The first positioning device30atransmits a first pilot signal having a first emission power, and the second positioning device30btransmits a second pilot signal having a second emission power. The signal strength of the first pilot signal is typically the strongest at the first positioning device30a, and decreases exponentially and in gradients away from the first positioning device30a, and the signal strength of the second pilot signal is typically the strongest at the second positioning device30b, and decreases exponentially and in gradients away from the second positioning device30b.

In the second embodiment, the first and second positioning devices30a,30bare controlled externally for causing a transmission coverage of the second pilot signal to have an area of overlap with a transmission coverage of the first pilot signal. Using both the information detected by the mobile robot10located in the area of overlap of the transmission coverage of the first and second pilot signals and the locations of the first and second positioning devices30aand30b, the mobile robot10is able to perform position and angle self-calibrations.

Referring toFIG. 8, the positioning method performed by the mobile robot10in the second embodiment of the present invention includes the following steps:

Step81: The mobile robot10performs the steps71to76illustrated inFIG. 5, to obtain a first stationary location (x1, y1) of the first positioning device30aand a second stationary location (x2, y2) of the second positioning device30b, wherein the emission power detected by the mobile robot10at the first stationary location (x1, y1) reaches a first predetermined power level, and the emission power detected by the mobile robot10at the second stationary location (x2, y2) reaches a second predetermined power level.

Step82: The mobile robot10, while not detecting any of the first and second pilot signals, moves in the space20until the pilot signal detector15detects one of the first and second pilot signals. At this point mobile robot10should be located at the outermost gradient of the transmission coverage of the detected pilot signal having the weakest signal strength.

Step83: The mobile robot10moves along the outermost gradient region of the detected pilot signal, and records an initial angle of the mobile robot10when the mobile robot10first moves into the area of overlap of the transmission overages of the first and second pilot signals.

Step84: The processor12controls the motion module to drive the mobile robot10to rotate in a predetermined sampling duration, and records detected information, first displacement angles and second displacement angles.

The detected information, for instance, may be the information of whether the first pilot signal or the second pilot signal is detected.

As the mobile robot10rotates in the predetermined sampling duration, the pilot signal detector15detects different signal strengths of the first pilot signal, and the processor12records the detected signal strengths of the first pilot signal corresponding to predetermined angular displacements of the mobile robot10from the initial angle (first displacement angles). Similarly, in the predetermined sampling duration, the processor12records the detected signal strengths of the second pilot signal corresponding to predetermined angular displacements of the mobile robot10from the initial angle (second displacement angles).

It is worth mentioning that, the signal strength of the first pilot signal detected by the pilot signal detector15is weaker than the strength of the first pilot signal emitted by the first positioning device30a. Similarly, the signal strength of the second pilot signal detected by the pilot signal detector15is weaker than the strength of the second pilot signal emitted by the second positioning device30b. Moreover, as the mobile robot10rotates in the predetermined sampling duration, the angular displacement of the mobile robot10from the initial angle changes, and thus the mobile robot10has a specific first displacement angle each time the robot10rotates. Similarly, the mobile robot10has a specific second displacement angle each time the mobile robot10rotates.

Step85: The processor12, based on all the recorded detected information, determines whether the following four conditions are satisfied. If yes, the flow proceeds to step86. Otherwise, the flow returns to step84.

first condition: The mobile robot10while not detecting the first pilot signal, rotates to a predetermined angular displacement and detects the first pilot signal.

second condition: The mobile robot10while detecting the first pilot signal, rotates to a predetermined angular displacement and then fails to detect the first pilot signal.

third condition: The mobile robot10while not detecting the second pilot signal, rotates to a predetermined angular displacement and then detects the second pilot signal.

fourth condition: The mobile robot10while detecting the second pilot signal, rotates to a predetermined angular displacement and then fails to detect the second pilot signal.

Step86: The processor12calculates the angular difference of the predetermined angular displacements in the first and second conditions, and obtains first angular orientation information φ1 related to the first positioning device30a, and calculates the angular difference of the predetermined angular displacements in the third and fourth conditions, and obtains second angular orientation information φ2 related to the second positioning device30b.

More specifically, the first angular orientation information φ1 represents the broadest angular range that the first pilot signal can be detected by the mobile robot10, and the second angular orientation information φ2 represents the broadest angular range that the second pilot signal can be detected by the mobile robot10.

Step87: The processor12determines an initial position of the mobile robot10according to the following equations:

wherein (x1,y1) is the first stationary location of the first positioning device30a, (x2, y2) is the second stationary location of the second positioning device30b, φ1 is the first angular orientation information and φ2 is the second angular orientation information.

Subsequently, when the mobile robot10, which does not detect any pilot signal while moving in space20, detects any one of the first and second pilot signal once again,

the mobile robot10will move along the outermost gradient region of the transmission coverage of the detected pilot signal until it reaches the area of overlap of the transmission overages of the first and second plot signals. The mobile robot10then calibrates its position (x,y) by replacing it with the initial position previously calculated in step87.

The following describes the calibration of the current angle of the mobile robot10in detail. When the mobile robot10first enters the overlap area (may occur simultaneously with the calibration of the position of the mobile robot10), the mobile robot10rotates counterclockwise, and at the same time the mobile robot10will detect the first signal strengths of the first pilot signal corresponding to the predetermined angular displacements. The relationship between the first signal strengths of the first pilot signal and the predetermined angular displacements, when the mobile robot10first enters the overlap area, can be referred to inFIG. 9(solid bell shaped curve in FIG.9).

When the mobile robot10returns to the overlap area again, the mobile robot10will rotate counterclockwise to detect the first signal strength of the first pilot signal corresponding to each predetermined angular displacement (dotted bell shaped curve inFIG. 9) The processor12then calculates the difference of first predetermined angular displacement di (i=1, 2 . . . N) between the two curves by comparing, given a particular first signal strength Ri, the first predetermined angular displacement of the solid bell shaped curve and that of the dotted bell shaped curve.

Thereafter, the processor12calculates a compensation angle according to the formula,

D=(∑i=1N⁢di)/N,
and calibrates the current angle of the mobile robot10by the value of D. Similarly, the processor12can also calculate D based on the second signal strength of the second pilot signal instead of the first signal strength of the first pilot signal.

Preferably, in one embodiment, based on the compensation angle of the first signal strength of the first pilot signal and that of the second signal strength of the second pilot signal, the current angle of the mobile robot10can be calibrated. However, in other embodiments, only one compensation angle is necessary for calibration of the current angle of the mobile robot10.

Although there are two positioning devices30a,30bin the second embodiment, additional positioning devices can be used to create multiple areas of overlap associated with pairs of pilot signals in other applications such that the position and current angle stored in the mobile robot10can be calibrated more frequently as the mobile robot10moves in space20, thereby effectively reducing path errors.

In summary, the mobile robot10and the positioning device30of the preferred embodiments employ transmission modules that are cost efficient. The mobile robot10moves towards the positioning device30by following a direction in which the strength of the detected pilot signal of the positioning device30increases, and calibrates the stored position of the mobile robot10when it arrives at the positioning device30. It may also search for and move into the area of overlap of the transmission coverage of two pilot signals for calibration of its position and its current angle, thereby reducing path errors.