VEHICULE AND METHOD FOR GUIDING A VEHICULE BY POSITION-CODING
Field of the Invention
The present invention relates to an automated self- propelled vehicle and to a method for guiding an automated self-propelled vehicle. Background Art
Automated self-propelled vehicles are used in industry to an ever increasing extent. There are a large number of different robots, of which a group can be referred to as automated self-propelled vehicles. Automated self-propelled vehicles are used, for example, in storage warehouses to move material within the storage or in industrial premises to move e.g. cars between different assembly stations. Automated self-propelled vehicles move by themselves in a predetermined pattern. For the automated self-propelled vehicles to be capable of navigating in the industrial premises, some kind of navigation system is required.
US Patent 4,656,406 discloses a guidance system for automated vehicles, which is based on the vehicle sensing the electric field from wires buried beneath the floor surface. As a result, the vehicle can follow the guide- path provided by the wires. A drawback of the system is that it requires considerable investments for changing the path to be followed by the vehicle. US Patent 5,814,961 discloses an optical guidance system for an automated vehicle. The floor surface on which the vehicle moves is formed with grooves which define the path along which the vehicle is to run. The grooves are detected optically from the vehicle. Also this system requires great modifications if one wants to change the path along which the vehicle runs since the grooves in the floor surface must then be changed.
The US Patent 5,999,866 describes an infrastructure independent position determining system which records
images of the floor on which it moves and compares the recorded image with prerecorded images of the floor to determine its position on the floor. In the comparison use is made of naturally occuring features on the floor. A drawback is that the entire floor has to be mapped before it is possible for a vehicle to navigate on the floor. Further, it is possible that the structures on the floor alters due to wear. Thus, the floor has to be mapped at regular intervals. There is thus a need for an alternative method for guiding an automated self-propelled vehicle and an alternative automated self-propelled vehicle which allows the path along which the vehicle runs to be easily changed and which does not require the floor to be mapped at regular intervals.
Summary of the Invention
One object of the present invention is to provide a new method for guiding an automated self-propelled vehicle . Another object of the present invention is to provide a device which enables a change of the movement pattern of an automated self-propelled vehicle without great modifications.
A further object of the present invention is to provide an automated self-propelled vehicle which is adapted to the device.
These and other objects are achieved with a surface, a floor, a method and a vehicle according to the appended claims . A basic idea of the present invention is to arrange a position-coding pattern on a surface and to arrange the vehicle in such manner that it is possible to determine its position with the aid of the surface.
A surface according to the invention enables guiding of an automated self-propelled vehicle. The surface is characterised in that it has a position-coding pattern designed in such manner that an arbitrary subset of the
position-coding pattern, said subset having a predetermined size, codes the absolute coordinates for a position within at least a partial area of the surface, so that the absolute position of an automated self-propelled vehicle can be determined within this partial area by recording an image of the surface which comprises at least said subset .
Surface relates to that part of a surface within which guiding of automated self-propelled vehicles should be feasible.
With surface is meant not only a floor but also a surface in an outside warehouse.
With a surface according to the invention it will be possible to easily change the movement pattern of an automated self-propelled vehicle. When moving shelves in a storage warehouse, it is only necessary to re-program the robot according to the new positions of the shelves.
Preferably, essentially the entire surface is covered with a position-coding pattern. An automated self-propelled vehicle according to the invention comprises a control means for controlling the movement of the vehicle, and an image sensor connected to the control means for recording an image of a surface. The vehicle is characterised in that the control means is adapted, in response to the image comprising a position- coding pattern, to convert the position-coding pattern to a position and to control the movement of the vehicle in response to the position.
When the vehicle is to be programmed, it is program- med in what way the vehicle is to move in relation to the coordinates on the surface. This can be carried out in a number of ways. For example, it is possible to use a blueprint of premises in which the vehicle is to move, which blueprint has a position coding pattern, in order to program the vehicle. Use is made of a reading pen which is moved over the blueprint to record the pattern and convert it to coordinates on the blueprint . The
coordinates on the blueprint, which correspond to real positions on the floor of the premises, are stored in a blueprint coordinate sequence corresponding to the path along which the vehicle is to run across the floor. This blueprint coordinate sequence is transferred from the reading pen to a computer which in turn controls the programming of the vehicle. In this way any possible new installation or reprogramming of a vehicle according to the present invention. The need for carrying bulky equipment, e.g. computers, to different premises in which the vehicles are to be used is eliminated and the only equipment required on field is a blueprint over the premises and a reading pen. The desired movement path for a vehicle is defined through simple draws with the reading pen on the blueprint which does not require any special technical competence. Alternatively other means such as graphics tablets or computers may be used to define the movement path of the vehicle.
Of course, it is also possible within the scope of the invention to equip all shelves and other stationary objects in the premises with a device each, comprising at least one image sensor. The devices can with the aid of the image sensors determine the surfaces that are not free to vehicles. The positions can be forwarded to a central control device which is in contact with each of the automated vehicles as well as each of the devices on the shelves .
A surface according to the invention preferably comprises at least two identical partial areas. Advanta- geously the surface comprises a large number of identical partial areas.
It is preferred for the position-coding pattern on the surface to be repetitive so that the pattern is repeated with a predetermined period, wherein the above mentioned subset of the position-coding pattern defines a plurality of positions on the surface. It will thus be possible to use a plurality of identical floor plates to
cover the surface. By the products being identical, the manufacture of the floor plates will be simplified.
According to an alternative embodiment, the surface comprises only one partial area so that each subset codes a unique position on the surface.
According to an embodiment of the invention a plastic film is provided with a position coding pattern, which plastic film is arranged on a surface on which a vehicle is to move. This means that special manufacturing of surfaces is not necessary for application of the invention.
Especially when the position-coding pattern is repetitive, it is advantageous for the partial areas to be separated by separating fields which contain a separating code with information on the manner in which the partial areas separated by the separating fields are positioned within the surface area. Consequently a vehicle moving in the premises can determine in which part of the surface it is positioned each time it passes a separating field. The position-coding pattern is preferably arranged to be optically recordable, but within the scope of the invention it is adapted to be recorded by, for example, electromagnetic radiation at an arbitrary wavelength. An optically recordable position-coding pattern can be re- corded by means of e.g. a video camera.
It is, of course, possible for the separating fields to mark only the transition from one partial area to another.
In the case of a repetitive position-coding pattern without separating fields indicating the relationship between different partial areas, it is necessary for the vehicle to keep track of in which part of the position- coding pattern it is positioned.
The vehicle can keep track of in which partial area it is positioned by storing information on this in a memory. To this end, the coding pattern in all partial areas is advantageously oriented in the same direction.
As the vehicle moves from one partial area to another, it can detect that the absolute position coded by a partial area skips from one side of a floor plate to another side of an identical floor plate. Consequently it is possible to detect in which direction one has moved from one floor plate to another.
The separating code is preferably coded with a sequence of separating symbols, said sequence being arranged in such manner that a subsequence of a predeter- mined length unambiguously defines the position of the subsequence in the sequence. By using such a sequence for the coding a compact and robust coding pattern is made possible. Moreover, the image processing of each individual symbol will be easy since each symbol in the coding pattern need only code a small number of different values. In the case where both position symbols and separating symbols are involved, it is advantageous for the separating symbols to differ from the position symbols in size or shape. This makes it possible for the vehicle according to the invention to easily establish the moment when entering a separating field.
The position-coding pattern is advantageously coded with at least one position sequence with position symbols, which is arranged in such manner that a subsequence having a predetermined length unambiguously defines the position of the subsequence in the position sequence. This allows, in the same manner as mentioned above in connection with the separating field, each symbol to code only a small number of different values. By each symbol coding a small number of values, the symbol will be simple in its design, thus making the image processing easy.
Advantageously each of the position symbols contributes to the coding in two orthogonal directions. This means that the interpretation of the coding pattern will be relatively easy since each of the two directions can be interpreted separately.
Preferably each of the position symbols consists of at least one marking, the position of said at least one marking in relation to a raster defining the value of the symbol . Alternatively each of the position symbols may consist of a marking, the size of which defines the value of the symbol .
In a vehicle according to the invention the image sensor is arranged to record an image containing more position symbols than is needed to determine the position. According to one embodiment the image sensor is arranged to record NxN position symbols, while only MXM position symbols are used to determine a position, wherein N>M. This makes error correction possible in that a picture may be used for position determination even if one or more of the position symbols of different reasons has not been recorded by the image sensor. An example of when this occurs is when the position symbols are partly covered by dirt on the surface on which position symbols are arranged.
The number of symbols that are used to code a position is not important for the invention. Thus, any number of symbols may be used. The number of position coding symbols used in a specific embodiment depends among other things on how many points that have to be coded.
In a vehicle according to the invention the control means is preferably arranged to convert the position- coding pattern to a position. By the vehicle itself being arranged to convert the position-coding pattern to a position no communication of images is required between the vehicle and an external computer. Alternatively the conversion of the recorded image into a position is made in an external computer. By performing the conversion of the recorded image into a position in an external computer the computational capabilities in the vehicle can be kept to a minimum.
Preferably the vehicle also comprises a memory. The control means is arranged to control the movement of the vehicle with the aid of information stored in the memory.
In this way the vehicle does not have to communicate with any external computer in order to be able to move in the premises.
According to one alternative such a memory contains information on the positions in which obstacles are placed, the vehicle being controlled with the aid of the information on the position of the obstacles.
According to a less preferred alternative the memory contains information on a track to be followed by the vehicle .
According to the first alternative the vehicle has some freedom to avoid moving obstacles that happens to be in the way of the vehicle.
A vehicle according to the invention preferably contains information on the positions in which obstacles are to be found, the vehicle being guided with the aid of the information on the position of the obstacles.
It is of course possible for information about the position of obstacles to be available in a central control device which is adapted to communicate with the vehicles. According to this alternative the vehicle has to get information from the central control device. A vehicle according to the invention advantageously comprises also a time means, the control means being adapted to calculate, with the aid of the time means, one of the speed and the acceleration of the vehicle on the basis of two recorded images.
As a result, one can easily establish at least the speed of the vehicle with the aid of information that has been recorded for other purposes .
According to one aspect of the invention, a floor plate is provided, which is adapted to guide an automated self-propelled vehicle. The floor plate is characterised in that it comprises a position-coding pattern reproduced
on a surface of the floor plate. The position-coding pattern is designed so that an arbitrary subset of the position-coding pattern, which subset has a predetermined size, codes the absolute coordinates for a position on the floor plate.
According to one aspect of the invention, a vehicle guiding system is provided, which comprises a control unit, a surface, an automated self-propelled vehicle, and an obstacle. The vehicle guiding system is characterised in that the surface has a position-coding pattern which is designed in such manner that an arbitrary subset of the position-coding pattern, which subset has a predetermined size, codes the absolute coordinates for a position within at least a partial area of the surface, the automated self-propelled vehicle and the shelf being adapted to determine their absolute positions within said partial area by recording an image of the surface which comprises at least said subset, the shelf being adapted to transmit information about its position to the control unit, and the vehicle being adapted to receive information about the position of the shelf from the control unit. It is preferred for the surface in this case to comprise only a partial area since otherwise the shelf cannot unambiguously communicate its position on the surface. With the vehicle guiding system according to the invention it is possible to automatically update a movement pattern of a vehicle when a shelf is moved since the vehicle obtains information about the moving of a shelf via the control unit. In order to avoid the pattern to be weared excessively fast a layer, of a material through which the pattern may be recorded, may be applied over the pattern.
According to still another aspect of the present invention a roof which enables guiding of an automated self-propelled vehicle is provided. The roof has a position-coding pattern designed in such manner that an arbitrary subset of the position-coding pattern, said
subset having a predetermined size, codes the absolute coordinates for a position within at least a partial area of the roof, so that the absolute position of an automated self-propelled vehicles within this partial area can be determined by recording an image of the roof which comprises at least said subset .
An advantage of having the pattern in the roof is that it does not become weared and that it does not get dirty due to the vehicle or people walking on the floor. It goes without saying that the above features can be combined in the same embodiment .
In order to further illustrate the invention, detailed embodiments thereof will be described below without, however, the invention being considered to be restricted thereto.
The accompanying drawings are only schematic, which means that certain dimensions are greatly exaggerated for the purpose of illustrating the invention more clearly. Brief Description of the Drawings Fig. 1 is s schematic view of premises in which a floor according to the present invention can be used. Fig. 2 shows symbols that are used for coding in the position-coding pattern.
Fig. 3 illustrates a sequence that is used to code the position-coding pattern according to a preferred embodiment of the present invention.
Fig. 4 is a cross-sectional view of a vehicle according to a preferred embodiment of the present invention. Fig. 5 illustrates in more detail part of the floor in the premises in Fig. 1 according to a preferred embodiment of the present invention.
Fig. 6 illustrates the conversion of part of the position-coding pattern to a position. Fig. 7 illustrates the conversion of part of the separating coding pattern to a value.
Detailed Description of the Invention
Fig. 1 is a schematic view of storage premises 1 in which three shelves 2 are accommodated. Also a pallet 5 is positioned on the floor. The floor 3 in the premises is provided with a position-coding pattern. An automated self-propelled vehicle 4 navigates in the premises by means of the position-coding pattern. The vehicle 4 has information about the positions of the shelves and can thus navigate in the storage premises. The shelves 2 and the pallet 5 are provided with position devices 6 which are arranged for recording of the position-coding pattern on the floor. The devices 6 on the shelves 2 contain information about the extent of the shelves. The shelves 2 are each provided with two position devices, thereby mak- ing it possible to establish relatively exactly the area occupied by the shelves. The position devices communicate with a central control device 7, which comprises a memory 8 for storing of information about which surfaces are occupied in the storage premises. This means that the vehicles can update their information about the position of obstacles by communicating with the central control device. The pallets are suitably special pallets that are intended only for use in the storage premises. Goods stored on the pallets 5 are therefore suitably stored on an ordinary pallet which is placed on top of the pallet with the position device. When the pallet is moved to a new position, the position device detects that it has been moved to a new position and transmits information about this to the central control device, which in turn transmits information about this to each of the vehicles
4 in the storage premises 1.
According to an alternative embodiment of the present invention, it is only the vehicles 4 that are arranged for recording of images of the floor with a view to establishing their position. The update of the arrangement of the shelves in the storage premises must then be carried out manually.
The position-coding pattern can be of the type disclosed m the above-mentioned US 5,852,434, where each position is coded by a specific symbol.
However, the position-coding pattern is advanta- geously of the type disclosed m Applicant's patent PCT applications WO 00/73983 and PCT/SE00/01895 and WO 01/16691, which are hereby included m the application by reference, where each position is coded by a plurality of symbols and each symbol contributes to the coding of several positions.
The position-coding pattern is made up of only a few types of symbols. An example is shown m the PCT application WO 00/73983, where a large dot represents a "one" and a small dot represents a "zero". A further example is shown m the PCT application PCT/SE00/01895 , where four different displacements of a dot m relation to a raster point code four different values.
Figs 2a-d illustrate an embodiment of a symbol which can be used to code positions m the position-coding pat- tern on the floor m Fig. 1 according to a preferred embodiment of the invention. The symbol comprises a virtual raster point 9, which is represented by the intersection between the raster lines, and a marking 10 having the form of a poin . The value of the symbol depends on where the marking is located. In the example m Fig. 2, there are four possible locations, one on each of the raster lines extending from the raster points. The displacement from the raster point is the same for all values. The symbol has m Fig. 2a the value "0", m Fig. 2b the value "1", m Fig. 2c the value "2" and m Fig. 2d the value "3". In other words, there are four different types of symbols. Each symbol can thus represent one of four different values "0-3".
The distance between two adjacent raster points is according to this embodiment about 3-12 mm, with the displacement of a marking from a raster point being about 1/4 to 1/8, preferably 1/6 of the distance between raster
points. In this embodiment, the effective diameter of the marking is about 5% to 240% of the displacement of the marking from the raster point .
With the above dimensions a pattern, which is rela- tively insensitive to dirt, is provided. Still with these dimensions the pattern may be recorded with normal optics. It is of course possible to use other dimensions.
Fig. 3 shows a sequence 11 which is used to code the position-coding pattern on the floor 6 in Fig.l according to a preferred embodiment of the present invention. The sequence 11 consists of a plurality of values 12 each having the value of either "0" or "1" . The sequence is arranged so that an arbitrary subsequence 13, 14, which contains five values, of the sequence 12 unambiguously determines the sequence value of the subsequence in the form of its position in the sequence. Thus, a first subsequence 13, which consists of the five first values in the sequence, has the sequence value "0", and a second subsequence 14, which consists of the second up to and including the sixth value in the sequence, has the sequence value "1".
Fig. 4 is a cross-sectional view of a vehicle 20 according to a preferred embodiment of the present invention. The vehicle 20 comprises a drive wheel 21 which is driven by a motor 22. The vehicle also comprises a steering wheel 23 which is controlled by means of a control motor 24, an image sensor 25 which is adapted to record an image of the floor by means of a lens 46 and a lamp 47 which is arranged to illuminate that part of the floor which is to be recorded. The lamp emits light in the infrared or visible wavelength range. The lamp 47 makes additional illumination unnecessary in the premises in which the vehicle is to be used. The vehicle further comprises a control means 26 provided with a memory 27, which control means advantageously consists of a programmable computer. The computer contains a time means 45 in the form of an oscillator, by means of which the
computer can measure time. The vehicle also comprises a transceiver 28 for communication with the central control device. The control means 26 is adapted to calculate a position on the basis of an image recorded by means of the image sensor 25. The control means controls the drive motor and the control motor by means of the calculated position and information about the storage premises that are stored in the memory. The information in the memory contains information about how shelves and pallets are located in the storage premises and also contains information about the walls of the storage premises. The memory also contains information about how the vehicle is to move in the premises . The programming of the movement pattern of the vehicle is carried out by its path being entered in a computer which contains information about the location of the shelves in the storage premises. The programmed path is then transferred to the vehicle through the central control device. The vehicle runs along the programmed path by comparing its position with the programmed path.
Fig. 5 illustrates in more detail part of the floor in the premises in Fig. 1 according to a preferred embodiment of the present invention. The floor 15 comprises a plurality of floor plates 16 which are each provided with a position-coding pattern. The conversion of the position-coding pattern to a position will be described below. Each floor plate 16 codes positions in a virtual area which is the same for all floor plates, i.e. the floor plates are identical . The vehicle can thus deter- mine its position within a plate by recording an image of the floor and calculating the position which corresponds to the recorded pattern. The memory of the vehicle contains information about on which plate the vehicle is located in the form of a plate coordinate which is unique for each plate. Between the places there are separating fields 17 which consist of plastic strips attached to the floor. When the vehicle passes a separating field 17, 18,
this plate coordinate is updated by the control means converting an image, which has been recorded by the separating field 17, 18, to information concerning which plates it separates . All the plates are arranged in the same direction. Consequently the vehicle can determine between which plates it moves. If the vehicle changes direction to the opposite direction, the vehicle detects that it returns to the same floor plate once more since it returns to the same part of a floor plate instead of coming to the opposite part of the floor plate.
According to an alternative embodiment of the present invention, each floor plate codes unique absolute positions. Thus an automated self-propelled vehicle can establish its absolute position in the storage premises by recording an image of the floor and converting the position-coding pattern to a position. Fig. 6 shows part of the position-coding pattern which is reproduced on the floor 3 in Fig. 1 and on each of the plates 16 in Fig. 5. A first matrix 30 in Fig. 6a is the smallest matrix which unambiguously defines a position. The position-coding pattern 30 is made up of symbols 31 like those shown in Fig. 2. In the position-coding pattern use is made of the four different values to code a binary bit in each of two orthogonal directions. Thus the four different values "0, 1, 2, 3" code the four bit combinations (0, 0), (0, 1),
(1, 0), (1, 1) where the first digit in each bit combination relates to a first direction and the second digit relates to a second direction which is orthogonal to the first direction. When a user unit records the first ma- trix 30 in Fig. 6, it is converted to a second matrix 32 with values 33 which defines the x-coordinate, and to a third matrix 34 with values 35 which defines the y-co- ordinate, with the aid of the above relationship between values and bit combinations. The second matrix 32 con- tains subsequences 36 which constitute columns in the second matrix. The values of the matrix are either "0" or "1". The subsequences are part of the sequence as de-
scribed above in connection with Fig. 3. Each subsequence thus has a unique sequence value. The five subsequences in the columns of the second matrix 32 are converted to five sequence values Sxi, Sx2, Sx3, Sx4 and Sx5 which de- fine the x-coordinate . In a similar manner, subsequences 37 with values 35 are arranged in rows in the third matrix. These subsequences are also parts of the sequence in Fig. 3 and are converted in a similar manner to a second set Syι-Sy5 which defines the position of the vari- ous subsequences in the sequence. Subsequently the difference between adjoining sequence values is calculated, which causes two sets of four difference values Dx!-Dx4 and Dyι-Dy4, respectively, Dxn=Sxn+1-Sxn modulo R and Dyn=Syn+ι-Syn modulo R, wherein R is the number of unique subsequences in the sequence in Fig. 3. The difference values are then used to generate an x-coordinate and a y-coordinate .
The conversion from difference values to coordinates can be effected in many ways. According to one embodi- ment, the subsequences are arranged in such manner that one of the difference values in each submatrix has an integer value in the range "0-3". This codes the most significant digit. The subsequences are also arranged in such manner that the x-coordinate will be one unit greater when moving one column to the right in the matrix, and in such manner that the y-coordinate will be one unit greater when moving one row down in the matrix. Since the columns in the second matrix in Fig. 6b consist of parts of the sequence in Fig. 3, each of the sequence values in the two columns Sxj. and Sx2 furthest to the left in the matrix in Fig. 6b will be one unit greater when moving down one row in the matrix 32. However Dxx remains constant. Consequently also the x-coordinate remains constant when moving down in the second matrix 32. Fig. 7 shows part of the separating field 17 in
Fig. 5. The separating field 17 has a plurality of symbols as those shown in Fig. 2. The separating field is
made up in a manner similar to that of the position- coding pattern. Fig. 7 shows parts of four different floor plates. The plates have different serial numbers which define their respective positions in relation to the other plates on the floor. The plate designated 38 has the serial number "12" in the x-direction and the serial number "14" in the y-direction. The plate designated 39 has the serial number "13" in the x-direction and the serial number "14" in the y-direction. The plate designated 40 has the serial number "12" in the x-direction and the serial number "13" in the y-direction. The plate designated 41 has the serial number "13" in the x-direction and the serial number "13" in the y-direction. The symbols within the frame which is marked with reference numeral 42 are converted, in the same manner as described above, to a difference value for the x-coordinate having the value "11" which indicates the serial number of the adjacent floor plate which lies completely to the left of the frame. The symbols within the frame designated 43 correspond to a difference value in the x- direction having the value "12" . Correspondingly the symbols within the frame designated 44 correspond to a difference value in the y-direction of "13" . With the aid of the separating fields, a vehicle can determine on which floor plate it is positioned.
The above embodiments are to be considered examples only.
A person skilled in the art realises that the above embodiments may be varied in a number of ways without de- parting from the inventive idea.