|Publication number||US4817000 A|
|Application number||US 06/838,088|
|Publication date||Mar 28, 1989|
|Filing date||Mar 10, 1986|
|Priority date||Mar 10, 1986|
|Also published as||EP0236614A2, EP0236614A3|
|Publication number||06838088, 838088, US 4817000 A, US 4817000A, US-A-4817000, US4817000 A, US4817000A|
|Original Assignee||Si Handling Systems, Inc.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (12), Non-Patent Citations (5), Referenced by (154), Classifications (14), Legal Events (5)|
|External Links: USPTO, USPTO Assignment, Espacenet|
Automatic guided vehicle system (AGVS) wherein a driverless vehicle is operated in a predetermined zone within a warehouse, industrial plant or the like are known. The driverless vehicle may carry a pay load such as a product to be delivered from one location to another, onboard robotics for performing a particular operation at a series of locations, and the like. Conventionally, such vehicles are guided over a series of tracks from one position to another wherein no steering mechanism is required onboard the vehicle. Various wire guided driverless vehicle systems are also known. Typically, such systems include a wire embedded in the ground, the wire carrying the necessary information for guiding the vehicle over the wire path.
The present invention is directed to an AGVS of the type which requires no tracks and no wires for guiding the vehicle. The probelm solved by the present invention is that of providing a vehicle with a self-contained navigation system for guiding the vehicle over any one of an almost infinite variety of paths initially prescribed by a base station computer. The system uses complementary onboard navigation systems for tracking vehicle position and bearing and for correcting vehicle position and bearing over selected arc segments, with no need for communication with the base station during navigation.
Automatic guided vehicle system for guiding a driverless vehicle within a predetermined zone divisible into coordinate positions, comprising a driverless vehicle provided with a steering mechanism and a drive controller for controlling the steering mechanism so as to guide the vehicle within the zone, plural beacons distributed within the zone outboard the driverless vehicle, a programmed computer onboard the vehicle having memory for storing a series of coordinate positions representing the positions of the beacons and a series of path vectors comprising position and bearing data, the vectors together representing a predetermined path of travel for the vehicle.
A first navigation section onboard the vehicle includes means for optically scanning the beacons and means for generating data signals indicating the position and bearing of the vehicle, and a second navigation section onboard the vehicle includes means for generating data signals indicating changes in position and bearing of the vehicle. Driver means onboard the vehicle are responsive to the data signals generated by the first and second navigation sections and to the stored path vectors for causing the drive controller to control the steering mechanism such that the vehicle follows the predetermined path of travel.
For the purpose of illustrating the invention, there is shown in the drawings a form which is presently preferred; it being understood, however, that this invention is not limited to the precise arrangements and instrumentalities shown.
FIG. 1 is a diagram showing a driverless vehicle and one arrangement of beacons which may be scanned by the optical navigation section of the AGVS of the present invention.
FIG. 2 is a waveform of the scanning laser beam power for the optical navigation section.
FIG. 3 is a diagram of the laser optics for the optical navigation section.
FIG. 4 is a waveform of a beacon return signal having a pulse width proportional to the range between the vehicle and beacon.
FIG. 5 is a block diagram of the AGVS of the present invention.
FIG. 6 is a diagram showing the technique for computing vehicle position and bearing based on optical naviation section measurements.
FIG. 7 is a diagram showing the technique for computing changes in vehicle position and bearing based on ground navigation section measurements.
FIG. 8 is a diagram of a "primary" path of travel as defined by path points entered at the base station keyboard.
FIG. 9 is a diagram of the smoothed "primary" path of travel including "secondary" path vectors inserted by the computer.
FIG. 10 is a flow chart showing the triangulation and bearing section algorithm for discrimination between beacon sightings.
FIG. 11 is a diagram showing the curve fitting technique for smoothing each corner of the "primary" path of travel.
FIGS. 12(a)-(e) are diagrams showing various classes of arc path corrections.
FIG. 13 is a flow chart showing the arc path correction routine.
Referring to the drawings, wherein like numerals indicate like elements, there is shown in FIG. 1 a diagram of a driverless vehicle 10 traveling in a zone containing plural beacons 12-24. Preferably, each beacon is in the form of an upright cylinder of retroreflecting foil. The zone is divisable into an x, y coordinate grid. Vehicle 10 is provided with free wheeling rear wheals 11, 13 and a motor driven and steered front wheels 15. The vehicle moves in arc segments over the x, y coordinate grid as described more fully hereafter. The circle 26 represents a range threshold with respect to the location 28 of the on board vehicle optics within which the system utilizes valid signals returned by the beacons. The return signal for a beacon lying outside the range threshold, such as beacon 24 in FIG. 1, is not utilized by the system.
The system optics include a 2 mW CW, 780 nm collimated scanning (IR) laser beam of approximately 5 mm diameter. The beam is rotated continuously to scan substantially a 360° azimuth. The laser beam is amplitude modulated at 100 KHz as shown in FIG. 2 for noise immunity. A beacon provides a return signal reflecting the beam back to the system optics.
A simplified diagram of the system optics is provided in FIG. 3. A collimated semiconductor laser 30 (Phillips CQL16 Collimator Pen) produces a beam 32. A rotating (gold) mirror 34 driven by a motor M directs the beam over 360° azimuth. Preferably, the mirror is rotated at one or two revolutions per second. An angular resolution of 0.3×10-4 is obtained over 360° azimuth by means of a precision 1000 step optical shaft encoder coupled to the motor M shaft and a phase locked loop (PLL) which multiplies the encoder pulse frequency output. A beacon which is illuminated by the beam reflects the beam back to the rotating mirror. The rotating mirror reflects the beam over paths 36, 36' through a lens 38 to a parabolic mirror 40. Mirror 40 reflects the beam to another parabolic mirror 42 over paths 44, 44'. Mirror 42 directs the beam to an IR bandpass filter 46 over paths 48, 48'. The filtered beam is detected by photodetector 50. Up to sixteen beacon sightings can be processed per revolution of the optics by a computer onboard the vehicle as described hereafter. The processing is performed at the end of each revolution during a dead angle while the beam 32 is blocked.
The duration of a return signal is determined by the width of a beacon and is directly proportional to the range of the beacon to the vehicle as represented by the location 28 of the system optics. A beacon lying near the range threshold 26, such as a beacon 22 in FIG. 1, will be illuminated by the beam for a longer period of time than a beacon which is located nearer the vehicle such as beacon 18. As a result, the duration of the return signal from beacon 22 will exceed the duration of the return signal from beacon 18 by an amount proportional to the difference in range to the vehicle. Thus, the width of the return signal represents apparent range between the beacon and vehicle.
A typical photodetector output for a beacon return signal is shown in FIG. 4. The vehicle is provided with an onboard range and angle detection circuit 52 (FIG. 5) which measures the duration and midpoint of the photodetector output by counting phase locked loop pulses. Vehicle to beacon range, then, corresponds to a pulse count taken over the duration of the photodetector output. Angular position of the laser beam when a beacon is sighted corresponds to a pulse count at the midpoint of the photodetector output. This information, when obtained for at least three beacon sightings during a revolution, is used to compute vehicle position and bearing as described hereafter.
Vehicle position and bearing is determined by an on board optical navigation section 103. See FIG. 5. The vehicle to beacon range and beam angle measurements are obtained for at least three valid beacon return signals to determine vehicle position and bearing. Each vehicle to beacon range measurement is compared to a stored range threshold value in the computer memory. The threshold is indicative of range 26. The threshold may be constant or it may be increased if less than three beacon sightings are obtained during a revolution. The comparison is made by circuit 52 to discriminate between valid and invalid beacon sightings. Thus, detection circuit 52 does not provide range outputs for a signal returned by a beacon lying outside the range threshold such as a beacon 24 in FIG. 1. Although circuit 52 does provide a range output for a signal returned by a beacon inside the range threshold, this does not necessarily produce a valid beacon sighting for use in determining vehicle position. Thus, it must also be determined that the beacon lies within a 10° expected scan sector computed by the "triangulation and bearing" section 53 of a programmed computer 100 onboard the vehicle.
The primary function of the "triangulation and bearing" section is to compute the position of the vehicle in x, y coordinates as described more fully hereafter. However, the triangulation and bearing section also discriminates between valid and invalid beacon sightings based in part on the apparent beacon angle (as indicated by the midpoint data outputed by the beacon range detection circuit 52). To determine whether a beacon sighting is valid, the triangulation and bearing section computes the angle between the vehicle and each beacon based on the estimated vehicle position (x, y) computed in the preceding scan and on the positions (x, y) of the beacons. The apparent beacon angle, as indicated by the midpoint data, and the computed beacon angles are referenced to the center line of the vehicle. The position (x, y) of each beacon is known as it is part of a beacon map which is loaded into the vehicle memory 101 prior to operation. Preferably, the vehicle is provided with a radio link (RS232) to a base station transmitter which transmits the beacon map data to the vehicle computer.
After computing the beacon angle, the triangulation and bearing section adds ±5° to the computation to define a 10° sector around each computed beacon angle. The computer determines whether the apparent beacon angle lies within a 10° sector. If so, the apparent beacon angle is used to compute vehicle range and bearing as described hereafter. If not, the data is discarded. In addition, multiple beacon sightings within the same 10° scan sector, such as beacons 14, 16 in FIG. 1, are discarded. Also, if beacons 14, 16 overlap along a radius, their return signals are discarded as they will merge into a single photodetector output signal which indicates a single beacon but at a location which does not correspond to the location of either beacon 14 or 16 on the beacon map. The triangulation and bearing section algorithm (for discriminating between valied and invalid beacon sightings) is shown in flow chart form in FIG. 10. Valid beacon sightings, such as those provided by beacons 12, 18, 22, are processed by onboard computer 100 (triangulation and bearing section) to compute vehicle position and bearing.
The vehicle onboard computer 100 may be an Intel 86/05 SBC with numeric processor; it is programmed as described hereafter to compute vehicle position by performing a triangulation computation based on at least three valid beacon sightings during a 360° scan i.e. one revolution of the optics. The algorithm for performing the triangulation is shown in FIG. 6.
Beacons 22, 12 lie on an imaginary circle 54. Beacons 12, 18 lie on another imaginary circle 56. Since the locations of beacons 12, 18, 22 are known, vehicle position is computed by the triangulation and bearing section according to the following algorithm: ##EQU1## where x1, y1, are the stored x-y coordinates for beacon 18; x2, y2 are the stored x-y coordinates for beacon 12; m=(y02-y01)/(x02-x01) is calculated by the computer; x01, y01 are the x-y coordinates for the center of circle 54; and x02, y02 are the x-y coordinates for the center of circle 56.
The x-y coordinates for the center of circles 54, 56 are calculated by the computer according to the following algorithms: ##EQU2## where L12 is the computed distance between the known locations of beacons 12, 18 and L23 is the computed distance between the known locations of beacons 12, 22; α12 is the included angle between any point on circle 56 and the known locations of beacons 12, 18; α23 is the included angle between any point on circle 54 and the known locations of beacons 12, 22; m12 is computed as (y2 -y1)/(x2 -x1); and m23 is computed as (y3 -y2)/(x3 -x2).
Once the coordinate position of the vehicle has been determined, the bearing φ of the vehicle is computed by the triangulation and bearing section 53. The algorithm for computing vehicle bearing φ (using zero bearing as the x-axis in FIG. 6) may for example be given by: ##EQU3## where ψ2 is the beam angle (referenced to vehicle center line or axis) as detected by circuit 52 when beacon 12 is sighted.
From the foregoing, it can be appreciated that the sytem optics, range and beacon angle detection circuit 52 and triangulation and bearing section 53 of the onboard computer comprise an active optical navigation section 103 for the vehicle. In this context, a "navigation" system means a system that keeps track of vehicle position as compared with a "drive" system which steers a vehicle towards a destination point.
A second passive navigation section 105 is provided onboard the vehicle as well. The purpose of the ground navigation section is to provide current vehicle position and bearing information to the drive sytem (described hereafter) since the optical navigation section computations of vehicle position and bearing are performed only once per scan or revolution of the laser beam. In addition, the ground navigation section permits the vehicle to be steered temporarily without loss of orientation, despite the lack of any position or bearing information from the triangulation and bearing section which may be due for example to the failure to sight any beacons over one or more revolutions of the laser beam.
Referring to FIG. 5, the ground navigation section 105 comprises a gyrocompass 58 (King Radio KG 102A) having zero north and a resoltuion of 0.25° by way of example, a "change in bearing" circuit 60 which generates a signal Δφ indicative of change of bearing of the vehicle based on the gyrocompass output, an optical (wheel) encoder (odometer) 62 coupled to the shaft of the vehicle's front wheel 15, and a "distance traveled" circuit 64 which provides a signal Δl indicative of an icremental distance traveled by front wheel 15 based on the wheel encoder output. The outputs of circuits 60, 64, which together indicate measured change in bearing and distance traveled by the vehicle, are fed to the onboard computer wherein they are used by the software "ground navigation algorithm" section 55. The optical and ground navigation sections 103, 105 are in a sense merged in the ground navigation algorithm section 55.
The geometry of change in bearing Δφ and wheel travels Δl (over an arc path) are shown in FIG. 7. In FIG. 7, vehicle position and bearing as computed by triangulation and bearing section 53 are designated x, y and φ. The ground navigation algorithm section 55 includes a counter which counts pulses at the output of change in position circuit 64, each pulse representing an increment of front wheel travel Δl. The variable Δn is the pulse count during the time interval required for the vehicle to undergo an incremental change in bearing Δφ equal to the resolution of the gyrocompass, e.g. 0.25°. Typically, the count Δn varies within a range correspond to front wheel travel of 0.005 inch (small radii of curvature) to 0.32 inch (large radii of curvature). The change in vehicle position (Δx, Δy) during an incremental change in bearing (Δφ) are computed in the ground navigation alogorithm section according to the following algorithms: ##EQU4## where Δl is an increment of travel of the front wheel 15 as indicated by a pulse at the output of distance traveled in circuit 64; L is the known separation between the vehicle position point 28 (x, y) and the front wheel 15; Δφ is the incremental change in bearing equal to the resolution of the gryocompas as indicated by the output of the change in bearing circuit 60; and Δn is the count of circuit 64 output pulses for the incremental change in bearing Δφ. The functions f1 (φ, Δn) and f2 (φ, Δn) are separate look up tables in computer memory, for example two 256K bit EPROMS, wherein φ, Δn specifies a storage location for f1 (in one look up table) or f2 (in the other look up table).
The computation of vehicle coordinate position and bearing, as indicated by triangulation and bearing section 53 once each revolution of the laser beam, corrects the ground navigation algorithm section computations. At the end of each revolution of the laser beam, a fresh computation of vehicle position (x, y) and bearing (φ) is fed from triangulation and bearing section 53 to ground navigation algorithm section 55 so as to correct the computations of vehicle position and bearing. In between outputs from the triangulation and bearing section, any errors in the ground navigation algorithm section computations will therefore accumulate.
Steering of the vehicle is best explained with reference to FIGS. 5, 8-9 and 11-12. The computer software includes a path planner section 66, vector sequencer section 68 and driver section 70. The beacon map and a "primary" path of travel for the vehicle are entered by an operator at the base (remote) station. See FIG. 5. The base station is equipped with a graphics terminal by which the operator directly enters information containing "primary" path data in the form of a collection of path points and a nominal turning radius Rnom which the vehicle will use as described hereafter at the path corners. The information is transmitted through the radio data link to the onboard vehicle receiver which is coupled to the vehicle onboard computer 100. The path points represent x, y coordinate position information for a prescribed path of travel for the vehicle. The operator may also enter data to indicate desired vehicle velocity at each point.
An exemplary path of travel entered at the base station is shown in FIG. 8 wherein "primary" path points, including the initial point, destination point, and all corner points are marked by the symbol "+". The path planner software section 66 checks the "primary" path points received from the base station and smooths each corner on the path by performing a curve fitting routine based on the radius of curvature Rnom as shown in FIGS. 8 and 11. The radius Rnom defines a circle whose center coordinates are computed by the path planner section such that the tangent points T1, T2 (or T1', T2') are located on the corner path as shown in phantom in FIG. 8. The tangent points are then entered as "secondary" points in replacement of the "primary" corner points. The result is the path shown in FIG. 9 wherein all corners have been smoothed. The path planner section then computes a set of "secondary" path points and vectors, as shown in FIG. 9, which define successive line segments each having a length no greater than a threshold distance ΔL. The "secondary" points are marked by the symbol "++" in FIG. 9.
The "secondary" points and vectors are shown in FIG. 9 and are inserted as follows. The path planner section inspects the end points for each straight line segment in the smoothed "primary" path and determines the length L of each segment. The planner then divides the length L by 2. If the result is less than or equal to the threshold distance ΔL, the "secondary" point position is the midpoint of the segment and a "secondary" vector (having same vector angle as the initial point) is inserted at the midpoint and stored in the appropriate sequential location in the onboard computer RAM. If the result exceeds the threshold, then the length L of the segment is divided by 3. If the result is then less than the threshold, two "secondary" points are selected within the segment, so as to divide the segment into three equal parts, and a "secondary" vector (having the same vector angle as the initial point) is stored at each point in the computer RAM. The algorithm for selecting the points within a segment is therefore given in general terms by:
where L is the length of the line segment as defined by the "primary" line segment end points, and n is the integral divisor 2, 3, . . . . If the quotient is less than or equal to the threshold ΔL, then the segment is divided into n equal parts by appropriate placement of (n-1) "secondary" vectors which are then stored at the appropriate sequential locations in RAM. The value of ΔL for any particular path segment corresponds to the length of a double arc steering correction as described hereafter. "Secondary" path vectors are also inserted at each tangent point T1, T2, etc. marking a smoothed corner, the vector direction at each tangent point corresponding to the direction of the straight line segment connected to the tangent point.
The path vectors are retrieved from RAM in sequence, either forward from the initial point to the destination point or backward from the destination point to the initial point, by the vector sequencer section 68. The order (forward or backward) depends on whether the operator wishes the vehicle is to traverse the path shown in FIG. 9 in the forward or backward direction. The information is entered at the base station, by keyboard or CRT entry, and the base station computer generates a Foward command signal or a Reverse command signal in response. The signal is used by the vector sequencer section 68 of the onboard computer software to control the order of retrieval of the path vectors from RAM. The signal is transmitted over the radio link together with a Go or Stop command (also entered at the base station) and is received and sent to the onboard computer.
The vector sequencer 68 begins operation in response to a Go command signal. The vector sequencer retrieves each path vector in the order indicated by the forward/reverse signal. Each path vector is fed to the driver section 70 of the onboard computer software. Operation can be stopped at any time in response to a Stop command signal. The driver section 70 regularly interrogates the ground navigation algorithm section 55 and compares the position and bearing of a retrieved path vector to the actual position and bearing of the vehicle as indicated by the ground navigation algorithm section. The driver section executes a steering correction algorithm based on the deviation between retrieved and actual position and bearing, as shown in FIGS. 12(a)-(e).
In FIGS. 12(a)-(e), the vector B represents the path vector (position and bearing) retrieved from RAM by vector sequencer section 68. The vector A represents the actual (updated) position and bearing of the vehicle as outputted by the navigation update section. The difference in position between vectors A, B is represented by the vector D which is determined by driver section 70.
The steering correction algorithm executed by driver section 70 is that of choosing two connecting arc segments and arranging the arc segments so that they define a smooth curve tangent at one end to the vector A (actual bearing at actual vehicle position) and tangent at the other end to the vector B (desired bearing at the desired path position). The curve selection falls into five classes designated (a)-(e) in FIG. 12 (and the mirror images of these classes) depending on the bearings indicated by vectors A and B and by vector D. In the first class, class (a), the angle of vector B with respect to vector A is β and it is greater than one-half the angle α between vector D and vector A whereby the connecting arcs are selected by the steering correction algorithm, an arc So and a straight line segment e. The straight line segment e is itself considered as an arc having an infinite radius of curvature. In the second class, class (b), the angle β is less than α/2 whereby the connecting arcs selected are the straight line segment e and the arc So. In the third class, class (c), the angle α is between 0° and twice β whereby the connecting arcs selected are arcs S1, S2 of like radius of curvature and connected at an inflection point. In the fourth class, class (d), the angle β is less than one half α and the connecting arcs selected are arcs S1, S2 of like radius of curvature and connected at an inflection point. In the fifth class, class (e), the angle α is between 0° and 90° and the connecting arcs selected are arcs S1, S2 of like radius of curvature connected at an inflection point.
The driver section 70 outputs the necessary digital data for the vehicle drive controller 72 to operate the vehicle steering mechanism 74 so as to turn the front wheel 15 and thereby move the vehicle over the desired path i.e. so that the vehicle reaches the position of vector B with the bearing of vector B. The driver section output includes the steering angle command δ which must be executed to move the vehicle along the two arc segments (So, e, or e, So or S1, S2) and the arc length command l, indicating the length of the arc (So, e, S1 or S2) to be covered by the front wheel 15, the geometry being shown in FIG. 7. The algorithm for computing the commands δ and l are given by: ##EQU5## where L and R are the distances shown in FIG. 7 for each arc and S is the arc length over which the vehicle is to travel i.e. arc lengths So, S1 or S2 as shown in FIG. 12. The value of L is known and the values for R and S are computed for each class as set forth in Table 1 below:
TABLE 1______________________________________Class of Turnin Figure 12 R S______________________________________(a) ##STR1## S0 = Rα e = h-d(b) ##STR2## S0 = Rα e = d-h(c) ##STR3## S1 = Rψ1 S2 = R(ψ1 - α)(d) ##STR4## S1 = Rψ2 S2 = R(ψ2 + α)(e) ##STR5## S1 = R(π - ψ3) S2 = R(ψ3 + α)where ##STR6## ##STR7## ##STR8## ##STR9## ##STR10## ##STR11##______________________________________
The drive controller uses the commands δ, l to command the vehicle steering mechanism 74. The steering mechanism 74 turns the front wheel 15 so that the vehicle (point 28) travels along the computed arc segments as shown in FIGS. 12(a)-(e). In this manner, the vehicle is steered over the corrective double arc paths shown in FIGS. 12(a)-(e) so as to arrive at the position of vector B with the appropriate bearing. The driver section 70 monitors the distance traveled by the front wheel over the double arc path. When the distance remaining on the first arc falls to a stored limit, the first arc is completed while the driver section 70 selects the next double arc correction for the next path vector and transfers the new arc lengths and steering wheel angles to eight bit storage latches for use by the drive controller 72 in executing the next path correction. Data transfer to the latches is complete by the time the second arc is reached. The next path correction, then, is normally initiated upon completion of the first arc in the preceding path correction.
A flow chart for computing the δ, l commands is shown in FIG. 13. the quantities T, C are given by T=(A×D)z and C=(A×B)z. In the "compare sign T, C" block, a determination is made as to whether the class of correction is class (e) or any one of classes (a)-(d). If the correction is a class (e) correction, the quantities T, C will be of opposite sign. Otherwise, they are the same sign. In the "compare β, α" block, the particular class is determined as being (a) or (c) on the one hand or (b) or (d) on the other depending on the range within which the angle α falls. In the compare block "R Rmin ", the value of the turning radius R is compared to a preset limit RMIN. If the turning radius falls below the preset limit, then a rough corner would be encountered using the class (a) or (b) corrective arcs. Accordingly, the routine for the class (c) or (d) corrective arcs is used instead.
Although the invention has been described in terms of a three wheeled vehicle having a motor drive, steered wheel and two free wheeling rear wheels, it should be understood that the invention encompasses front or rear wheel driven vehicles having other numbers of wheels as well. For example, two front wheels may be employed wherein the wheels are motor driven and mounted on a turnable carriage. In addition, although the invention has been described in terms of the retrieval of "secondary" path vectors bearing direction information at preselected points along the prescribed path of travel for the vehicle, it should be understood that the vectors may also include magnitude data indicating desired velocity of the vehicle at each preselected point on the path. The velocity data would then be used to control the speed of the drive motor for the wheels.
The present invention may be embodied in other specific forms without departing from the spirit or essential attributes thereof and, accordingly, reference should be made to the appended claims, rather than to the foregoing specification, as indicating the scope of the invention.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US3009271 *||Nov 18, 1959||Nov 21, 1961||Collins Radio Co||Automatic control of earth-moving machines|
|US4284160 *||Mar 19, 1979||Aug 18, 1981||Barrett Electronics Corporation||Vehicle guidance system employing radio blocking|
|US4309758 *||Aug 1, 1979||Jan 5, 1982||Imperial Chemical Industries Limited||Driverless vehicle autoguided by light signals and three non-directional detectors|
|US4328545 *||Aug 1, 1979||May 4, 1982||Imperial Chemical Industries Limited||Driverless vehicle autoguide by light signals and two directional detectors|
|US4360808 *||Jan 25, 1980||Nov 23, 1982||Smith Engineering||Radio control apparatus with voice transmission capability|
|US4465155 *||Jun 17, 1981||Aug 14, 1984||Collins Marshall S||Automated operatorless vehicles|
|US4530056 *||Oct 28, 1982||Jul 16, 1985||Modular Automation Corp.||Automated guided vehicle system|
|US4556940 *||Sep 3, 1981||Dec 3, 1985||Mitsubishi Denki Kabushiki Kaisha||Robot vehicle|
|US4653002 *||Sep 26, 1984||Mar 24, 1987||Westinghouse Electric Corp.||Navigation system for unmanned vehicles|
|US4691385 *||Sep 5, 1985||Sep 1, 1987||Caterpillar Industrial Inc.||Optical communication apparatus for a vehicle|
|GB1173442A *||Title not available|
|GB1313928A *||Title not available|
|1||C. Jorgensen, W. Hamel, C. Weisman, "Autonomous Robot Navigation", BYTE, vol. 11, pp. 223-235, Jan. 1986.|
|2||*||C. Jorgensen, W. Hamel, C. Weisman, Autonomous Robot Navigation , BYTE, vol. 11, pp. 223 235, Jan. 1986.|
|3||*||CAT Joins with British firm to develop AGVS, York Action Reporter, Jun. 1986.|
|4||M. Julliere, L. Marce, H. Place, "A Guidance System For A Mobile Robot", 13th ISIR/Robots 7 Conference, Apr. 1983, Chicago, Ill.|
|5||*||M. Julliere, L. Marce, H. Place, A Guidance System For A Mobile Robot , 13th ISIR/Robots 7 Conference, Apr. 1983, Chicago, Ill.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US4935871 *||Feb 23, 1989||Jun 19, 1990||Caterpillar Inc.||Electronic road system generation method for an automatic guided vehicle|
|US4939651 *||Jun 14, 1988||Jul 3, 1990||Shinko Electric Co., Ltd.||Control method for an unmanned vehicle (robot car)|
|US4947324 *||Jun 7, 1989||Aug 7, 1990||Honda Giken Kogyo Kabushiki Kaisha||Steering control system for moving vehicle|
|US4986384 *||Oct 12, 1989||Jan 22, 1991||Robotech Laboratory Co., Ltd.||Remote control system of mobile objects|
|US5001635 *||Dec 27, 1988||Mar 19, 1991||Sanyo Electric Co., Ltd.||Vehicle|
|US5008557 *||Feb 23, 1990||Apr 16, 1991||Honda Giken Kogyo Kabushiki Kaisha||Position detector for moving vehicle|
|US5011288 *||Apr 28, 1989||Apr 30, 1991||Honda Giken Kogyo Kabushiki Kaisha||Position control system for unmanned automated vehicle|
|US5029088 *||Apr 25, 1989||Jul 2, 1991||Tsubakimoto Chain Co.||Method of and apparatus for guiding a moving object|
|US5040116 *||Jun 20, 1990||Aug 13, 1991||Transitions Research Corporation||Visual navigation and obstacle avoidance structured light system|
|US5111401 *||May 19, 1990||May 5, 1992||The United States Of America As Represented By The Secretary Of The Navy||Navigational control system for an autonomous vehicle|
|US5153833 *||Apr 15, 1991||Oct 6, 1992||Total Spectrum Manufacturing, Inc.||Robotic television-camera dolly system|
|US5170353 *||Jun 25, 1991||Dec 8, 1992||U.S. Philips Corporation||Bucket-oriented route planning method, and navigation system comprising a route planner for carrying out such a method|
|US5172317 *||Apr 23, 1992||Dec 15, 1992||Honda Giken Kogyo Kabushiki Kaisha||Automatic travelling apparatus|
|US5187662 *||Jan 23, 1991||Feb 16, 1993||Honda Giken Kogyo Kabushiki Kaisha||Steering control system for moving vehicle|
|US5202742 *||Oct 3, 1990||Apr 13, 1993||Aisin Seiki Kabushiki Kaisha||Laser radar for a vehicle lateral guidance system|
|US5202832 *||Jan 29, 1991||Apr 13, 1993||R. R. Donnelley & Sons Co.||Material handling automation system using portable transfer module|
|US5229941 *||Apr 13, 1989||Jul 20, 1993||Nissan Motor Company, Limtied||Autonomous vehicle automatically running on route and its method|
|US5233526 *||Dec 13, 1990||Aug 3, 1993||Commissariat A L'energie Atomique||Process for relocking on a theoretical trajectory for a vehicle, whilst modifying the curvature of the real trajectory|
|US5241481 *||Aug 21, 1990||Aug 31, 1993||Arnex Handelsbolag||Method and a device for laser optical navigation|
|US5255195 *||Jan 23, 1992||Oct 19, 1993||Yamaha Hatsudoki Kabushiki Kaisha||Position measuring system for vehicle|
|US5280431 *||Oct 31, 1988||Jan 18, 1994||Texas Instruments Incorporated||Method for controlling the movements of a mobile robot in a multiple node factory|
|US5283739 *||Oct 31, 1988||Feb 1, 1994||Texas Instruments Incorporated||Static collision avoidance method for multiple automatically guided vehicles|
|US5305217 *||Jul 1, 1991||Apr 19, 1994||Fuji Electric Co., Ltd.||Method and system for controlling automatic guided vehicle|
|US5307271 *||Sep 28, 1990||Apr 26, 1994||The United States Of America As Represented By The Secretary Of The Navy||Reflexive teleoperated control system for a remotely controlled vehicle|
|US5357432||Nov 24, 1993||Oct 18, 1994||Aisin Seiki Kabushiki Kaisha||Automatic lateral guidance control system|
|US5363305 *||Feb 28, 1992||Nov 8, 1994||Nec Research Institute, Inc.||Navigation system for a mobile robot|
|US5367458 *||Aug 10, 1993||Nov 22, 1994||Caterpillar Industrial Inc.||Apparatus and method for identifying scanned reflective anonymous targets|
|US5390118||Nov 24, 1993||Feb 14, 1995||Aisin Seiki Kabushiki Kaisha||Automatic lateral guidance control system|
|US5467273 *||Jan 11, 1993||Nov 14, 1995||State Of Israel, Ministry Of Defence, Rafael Armament Development Authority||Large area movement robot|
|US5469356 *||Sep 1, 1994||Nov 21, 1995||Caterpillar Inc.||System for controlling a vehicle to selectively allow operation in either an autonomous mode or a manual mode|
|US5475600 *||Jan 6, 1993||Dec 12, 1995||Samsung Electronics Co., Ltd.||Mobile robot which utilizes inertial navigation to calculate shortest return distance|
|US5510984 *||Nov 28, 1994||Apr 23, 1996||Board Of Regents-Univ. Of Nebraska||Automated guided vehicle enunciator system|
|US5548511 *||Oct 29, 1992||Aug 20, 1996||White Consolidated Industries, Inc.||Method for controlling self-running cleaning apparatus|
|US5610815 *||Dec 11, 1989||Mar 11, 1997||Caterpillar Inc.||Integrated vehicle positioning and navigation system, apparatus and method|
|US5612883 *||May 1, 1995||Mar 18, 1997||Caterpillar Inc.||System and method for detecting obstacles in the path of a vehicle|
|US5615116 *||May 1, 1995||Mar 25, 1997||Caterpillar Inc.||Apparatus and method for autonomous vehicle navigation using path data|
|US5646845 *||May 1, 1995||Jul 8, 1997||Caterpillar Inc.||System and method for controlling an autonomously navigated vehicle|
|US5650703 *||Apr 25, 1996||Jul 22, 1997||Hk Systems, Inc.||Downward compatible AGV system and methods|
|US5657226 *||May 1, 1995||Aug 12, 1997||Caterpillar Inc.||System and method for causing an autonomous vehicle to track a path|
|US5663879 *||Oct 26, 1992||Sep 2, 1997||North American Philips Corporation||Method and apparatus for smooth control of a vehicle with automatic recovery for interference|
|US5680306 *||May 1, 1995||Oct 21, 1997||Caterpillar Inc.||System, and method for enabling a vehicle to track a path|
|US5680313 *||May 1, 1995||Oct 21, 1997||Caterpillar Inc.||System and method for detecting obstacles in a road|
|US5682313 *||Jun 5, 1995||Oct 28, 1997||Aktiebolaget Electrolux||Method for localization of beacons for an autonomous device|
|US5752207 *||Sep 29, 1995||May 12, 1998||Caterpillar Inc.||Method and apparatus for determining a path for a machine between a predetermined route and a final position|
|US5764014 *||Feb 1, 1996||Jun 9, 1998||Mannesmann Dematic Rapistan Corp.||Automated guided vehicle having ground track sensor|
|US5798920 *||Nov 17, 1995||Aug 25, 1998||Hk Systems, Inc.||Storage and retrieval machine control system having an encoder and an optical distance meter|
|US5838562 *||May 1, 1995||Nov 17, 1998||Caterpillar Inc.||System and a method for enabling a vehicle to track a preset path|
|US5887268 *||Oct 29, 1996||Mar 23, 1999||Honda Giken Kogyo Kabushiki Kaisha||Automatically driven motor vehicle|
|US5921708 *||Sep 30, 1997||Jul 13, 1999||Joseph Voegele Ag||Pavement-vehicle convoy|
|US5956250 *||May 1, 1995||Sep 21, 1999||Caterpillar Inc.||Apparatus and method for autonomous vehicle navigation using absolute data|
|US5974348 *||Dec 13, 1996||Oct 26, 1999||Rocks; James K.||System and method for performing mobile robotic work operations|
|US6259979 *||Apr 13, 2000||Jul 10, 2001||Apogeum Ab||Method and device for association of anonymous reflectors to detected angle positions|
|US6374157 *||Nov 25, 1999||Apr 16, 2002||Sony Corporation||Robot device and control method thereof|
|US6629028||Jun 29, 2001||Sep 30, 2003||Riken||Method and system of optical guidance of mobile body|
|US6732045||Jul 20, 2000||May 4, 2004||Locanis Technologies Gmbh||Method and device for detecting the position of a vehicle in a given area|
|US6842692||Jul 2, 2002||Jan 11, 2005||The United States Of America As Represented By The Department Of Veterans Affairs||Computer-controlled power wheelchair navigation system|
|US6988570 *||Apr 22, 2002||Jan 24, 2006||Seiko Epson Corporation||Direction control device of control target|
|US7289466 *||Oct 5, 2005||Oct 30, 2007||Honeywell International Inc.||Localization for low cost sensor network|
|US7383107||Jul 14, 2004||Jun 3, 2008||The United States Of America As Represented By The Department Of Veterans Affairs||Computer-controlled power wheelchair navigation system|
|US7421338||Mar 26, 2004||Sep 2, 2008||Samsung Electronics Co., Ltd.||Robot system|
|US7648329 *||May 2, 2005||Jan 19, 2010||Jervis B. Webb Company||Automatic transport loading system and method|
|US7706917||Jul 7, 2005||Apr 27, 2010||Irobot Corporation||Celestial navigation system for an autonomous robot|
|US7765027 *||Sep 16, 2004||Jul 27, 2010||Samsung Electronics Co., Ltd.||Apparatus and method for estimating a position and an orientation of a mobile robot|
|US7980808||Apr 28, 2008||Jul 19, 2011||Jervis B. Webb Company||Automatic transport loading system and method|
|US8075243||Apr 10, 2008||Dec 13, 2011||Jervis B. Webb Company||Automatic transport loading system and method|
|US8192137||Jun 21, 2007||Jun 5, 2012||Jervis B. Webb Company||Automatic transport loading system and method|
|US8210791||Apr 28, 2008||Jul 3, 2012||Jervis B. Webb Company||Automatic transport loading system and method|
|US8239992||May 9, 2008||Aug 14, 2012||Irobot Corporation||Compact autonomous coverage robot|
|US8253368||Jan 14, 2010||Aug 28, 2012||Irobot Corporation||Debris sensor for cleaning apparatus|
|US8314928||Dec 20, 2004||Nov 20, 2012||Eye Point Ltd.||High precision wide-angle electro-optical positioning system and method|
|US8368339||Aug 13, 2009||Feb 5, 2013||Irobot Corporation||Robot confinement|
|US8374721||Dec 4, 2006||Feb 12, 2013||Irobot Corporation||Robot system|
|US8378613||Oct 21, 2008||Feb 19, 2013||Irobot Corporation||Debris sensor for cleaning apparatus|
|US8380350||Dec 23, 2008||Feb 19, 2013||Irobot Corporation||Autonomous coverage robot navigation system|
|US8382906||Aug 7, 2007||Feb 26, 2013||Irobot Corporation||Autonomous surface cleaning robot for wet cleaning|
|US8386081||Jul 30, 2009||Feb 26, 2013||Irobot Corporation||Navigational control system for a robotic device|
|US8387193||Aug 7, 2007||Mar 5, 2013||Irobot Corporation||Autonomous surface cleaning robot for wet and dry cleaning|
|US8390251||Aug 6, 2007||Mar 5, 2013||Irobot Corporation||Autonomous robot auto-docking and energy management systems and methods|
|US8392021||Aug 19, 2005||Mar 5, 2013||Irobot Corporation||Autonomous surface cleaning robot for wet cleaning|
|US8392117||May 22, 2009||Mar 5, 2013||Toyota Motor Engineering & Manufacturing North America, Inc.||Using topological structure for path planning in semi-structured environments|
|US8396592||Feb 5, 2007||Mar 12, 2013||Irobot Corporation||Method and system for multi-mode coverage for an autonomous robot|
|US8412377||Jun 24, 2005||Apr 2, 2013||Irobot Corporation||Obstacle following sensor scheme for a mobile robot|
|US8417383||May 31, 2007||Apr 9, 2013||Irobot Corporation||Detecting robot stasis|
|US8418303||Nov 30, 2011||Apr 16, 2013||Irobot Corporation||Cleaning robot roller processing|
|US8428778||Nov 2, 2009||Apr 23, 2013||Irobot Corporation||Navigational control system for a robotic device|
|US8438695||Dec 8, 2011||May 14, 2013||Irobot Corporation||Autonomous coverage robot sensing|
|US8456125||Dec 15, 2011||Jun 4, 2013||Irobot Corporation||Debris sensor for cleaning apparatus|
|US8461803||Dec 29, 2006||Jun 11, 2013||Irobot Corporation||Autonomous robot auto-docking and energy management systems and methods|
|US8463438||Oct 30, 2009||Jun 11, 2013||Irobot Corporation||Method and system for multi-mode coverage for an autonomous robot|
|US8474090||Aug 29, 2008||Jul 2, 2013||Irobot Corporation||Autonomous floor-cleaning robot|
|US8478442||May 23, 2008||Jul 2, 2013||Irobot Corporation||Obstacle following sensor scheme for a mobile robot|
|US8515578||Dec 13, 2010||Aug 20, 2013||Irobot Corporation||Navigational control system for a robotic device|
|US8516651||Dec 17, 2010||Aug 27, 2013||Irobot Corporation||Autonomous floor-cleaning robot|
|US8528157||May 21, 2007||Sep 10, 2013||Irobot Corporation||Coverage robots and associated cleaning bins|
|US8565920||Jun 18, 2009||Oct 22, 2013||Irobot Corporation||Obstacle following sensor scheme for a mobile robot|
|US8572799||May 21, 2007||Nov 5, 2013||Irobot Corporation||Removing debris from cleaning robots|
|US8584305||Dec 4, 2006||Nov 19, 2013||Irobot Corporation||Modular robot|
|US8594840 *||Mar 31, 2009||Nov 26, 2013||Irobot Corporation||Celestial navigation system for an autonomous robot|
|US8598829||Jun 14, 2012||Dec 3, 2013||Irobot Corporation||Debris sensor for cleaning apparatus|
|US8600553||Jun 5, 2007||Dec 3, 2013||Irobot Corporation||Coverage robot mobility|
|US8626365 *||Dec 13, 2004||Jan 7, 2014||Furuno Electric Company Limited||Automatic steering control apparatus and autopilot|
|US8634956 *||Mar 31, 2009||Jan 21, 2014||Irobot Corporation||Celestial navigation system for an autonomous robot|
|US8634958 *||Sep 26, 2011||Jan 21, 2014||Irobot Corporation||Celestial navigation system for an autonomous robot|
|US8661605||Sep 17, 2008||Mar 4, 2014||Irobot Corporation||Coverage robot mobility|
|US8670866||Feb 21, 2006||Mar 11, 2014||Irobot Corporation||Autonomous surface cleaning robot for wet and dry cleaning|
|US8686679||Dec 14, 2012||Apr 1, 2014||Irobot Corporation||Robot confinement|
|US8726454||May 9, 2008||May 20, 2014||Irobot Corporation||Autonomous coverage robot|
|US8739355||Aug 7, 2007||Jun 3, 2014||Irobot Corporation||Autonomous surface cleaning robot for dry cleaning|
|US8744746 *||Jun 22, 2010||Jun 3, 2014||Sandvik Mining And Construction Oy||Determination of route for arranging automatic control of mobile mining machine|
|US8749196||Dec 29, 2006||Jun 10, 2014||Irobot Corporation||Autonomous robot auto-docking and energy management systems and methods|
|US8761931||May 14, 2013||Jun 24, 2014||Irobot Corporation||Robot system|
|US8761935||Jun 24, 2008||Jun 24, 2014||Irobot Corporation||Obstacle following sensor scheme for a mobile robot|
|US8774966||Feb 8, 2011||Jul 8, 2014||Irobot Corporation||Autonomous surface cleaning robot for wet and dry cleaning|
|US8781626||Feb 28, 2013||Jul 15, 2014||Irobot Corporation||Navigational control system for a robotic device|
|US8782848||Mar 26, 2012||Jul 22, 2014||Irobot Corporation||Autonomous surface cleaning robot for dry cleaning|
|US8788092||Aug 6, 2007||Jul 22, 2014||Irobot Corporation||Obstacle following sensor scheme for a mobile robot|
|US8793020||Sep 13, 2012||Jul 29, 2014||Irobot Corporation||Navigational control system for a robotic device|
|US8800107||Feb 16, 2011||Aug 12, 2014||Irobot Corporation||Vacuum brush|
|US8839477||Dec 19, 2012||Sep 23, 2014||Irobot Corporation||Compact autonomous coverage robot|
|US8854001||Nov 8, 2011||Oct 7, 2014||Irobot Corporation||Autonomous robot auto-docking and energy management systems and methods|
|US8874264||Nov 18, 2011||Oct 28, 2014||Irobot Corporation||Celestial navigation system for an autonomous robot|
|US8930023||Nov 5, 2010||Jan 6, 2015||Irobot Corporation||Localization by learning of wave-signal distributions|
|US8954192||Jun 5, 2007||Feb 10, 2015||Irobot Corporation||Navigating autonomous coverage robots|
|US8966707||Jul 15, 2010||Mar 3, 2015||Irobot Corporation||Autonomous surface cleaning robot for dry cleaning|
|US8972052||Nov 3, 2009||Mar 3, 2015||Irobot Corporation||Celestial navigation system for an autonomous vehicle|
|US8978196||Dec 20, 2012||Mar 17, 2015||Irobot Corporation||Coverage robot mobility|
|US8985127||Oct 2, 2013||Mar 24, 2015||Irobot Corporation||Autonomous surface cleaning robot for wet cleaning|
|US9008835||Jun 24, 2005||Apr 14, 2015||Irobot Corporation||Remote control scheduler and method for autonomous robotic device|
|US9038233||Dec 14, 2012||May 26, 2015||Irobot Corporation||Autonomous floor-cleaning robot|
|US9104204||May 14, 2013||Aug 11, 2015||Irobot Corporation||Method and system for multi-mode coverage for an autonomous robot|
|US9128486||Mar 6, 2007||Sep 8, 2015||Irobot Corporation||Navigational control system for a robotic device|
|US9144360||Dec 4, 2006||Sep 29, 2015||Irobot Corporation||Autonomous coverage robot navigation system|
|US9144361||May 13, 2013||Sep 29, 2015||Irobot Corporation||Debris sensor for cleaning apparatus|
|US20040267442 *||Jul 14, 2004||Dec 30, 2004||Linda Fehr||Computer-controlled power wheelchair navigation system|
|US20050033474 *||Mar 26, 2004||Feb 10, 2005||Samsung Electronics Co., Ltd.||Robot system|
|US20050065655 *||Sep 16, 2004||Mar 24, 2005||Samsung Electronics Co., Ltd.||Apparatus and method for estimating a position and an orientation of a mobile robot|
|US20050107789 *||Oct 20, 2004||May 19, 2005||Endius Incorporated||Method for interconnecting longitudinal members extending along a spinal column|
|US20050244259 *||May 2, 2005||Nov 3, 2005||Chilson Gerald E||Automatic transport loading system and method|
|US20070076638 *||Oct 5, 2005||Apr 5, 2007||Honeywell International Inc.||Localization for low cost sensor network|
|US20100312390 *||May 14, 2008||Dec 9, 2010||Robosoft||Domestic robot assistant having a rolling chassis|
|US20120116666 *||Jun 22, 2010||May 10, 2012||Maekelae Hannu||Determination of Route for Arranging Automatic Control of Mobile Mining Machine|
|US20130138246 *||May 30, 2013||Jens-Steffen Gutmann||Management of resources for slam in large environments|
|US20140031980 *||Nov 9, 2012||Jan 30, 2014||Jens-Steffen Gutmann||Systems and methods for extending slam to multiple regions|
|USRE41905||Oct 25, 2007||Nov 2, 2010||Fleming Iii Hoyt A||Intelligent radar detector|
|CN1598610B||Sep 16, 2004||Oct 27, 2010||三星电子株式会社||Apparatus and method for estimating a position and an orientation of a mobile robot|
|DE3923458A1 *||Jul 15, 1989||Jan 24, 1991||Bodenseewerk Geraetetech||Unmanned vehicle guidance system e.g. for assembly plant - determines vehicle position and course using way point markers to support autonomous navigation system|
|DE4300123A1 *||Jan 5, 1993||Jul 8, 1993||Samsung Electronics Co Ltd||Title not available|
|DE19816785C2 *||Apr 16, 1998||Apr 26, 2001||Goetting Kg||Verfahren zur Positionsbestimmung und/oder Führung eines beweglichen Objektes|
|DE102013000632A1 *||Jan 16, 2013||Jul 17, 2014||Volkswagen Aktiengesellschaft||Vehicle has seat arrangement in internal space, where vehicle seat of seat row of seat arrangement is arranged such that vehicle seat is brought in lying position, in which backrest is inclined rearwards relative to seat part|
|EP1505465A1 *||Feb 24, 2004||Feb 9, 2005||Samsung Electronics Co., Ltd.||A robot location system|
|EP1517210A2 *||Sep 14, 2004||Mar 23, 2005||Samsung Electronics Co., Ltd.||Apparatus and method for estimating position and orientation of mobile robot|
|WO1990010271A1 *||Jan 16, 1990||Sep 7, 1990||Caterpillar Inc||Electronic road system generation method for an automatic guided vehicle|
|WO2001013192A1 *||Jul 20, 2000||Feb 22, 2001||Jochen Irmer||Method and device for detecting the position of a vehicle in a given area|
|WO2005060346A2 *||Dec 20, 2004||Jul 7, 2005||Eyepoint Ltd||High precision wide-angle electro-optical positioning system and method|
|U.S. Classification||701/25, 180/169, 180/167, 701/494, 701/514|
|Cooperative Classification||G05D1/0234, G05D1/028, G05D1/0272, G05D1/027|
|European Classification||G05D1/02E14B, G05D1/02E6B, G05D1/02E16D, G05D1/02E14D|
|Mar 10, 1986||AS||Assignment|
Owner name: SI HANDLING SYSTEMS, INC. KESSLERVILLE ROAD, EASTO
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNOR:EBERHARDT, NIKOLAI;REEL/FRAME:004554/0561
Effective date: 19860306
|Jun 29, 1992||FPAY||Fee payment|
Year of fee payment: 4
|Nov 5, 1996||REMI||Maintenance fee reminder mailed|
|Mar 30, 1997||LAPS||Lapse for failure to pay maintenance fees|
|Jun 10, 1997||FP||Expired due to failure to pay maintenance fee|
Effective date: 19970402