Abstract:
An in-vehicle positional recording device records the positions of a moving vehicle into a storage medium while the vehicle is operating. The stored positional data are later retrieved for subsequent analysis. In one embodiment, the recording device includes a control unit, an interface to a GPS receiver and storage unit. Data compression techniques can be used to increase the number of records that can be stored in the storage unit.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The invention generally relates to a fleet management system; and in particular, the present invention relates to a vehicle operation and position recording system utilizing a global positioning system.  
           [0003]    2. Discussion of the Related Art  
           [0004]    For an owner of a large fleet of vehicles, monitoring the usage and the operation of the vehicles is essential for effective management. For example, for insurance or vehicle maintenance purpose, the fleet manager or the vehicle owner may wish to know at what speeds the driver has been driving a particular vehicle. The fleet manager may also wish to know the routes or streets the vehicle have been driven through to determine whether the most efficient routes have been used. In addition, the company may wish to obtain operational data on the vehicle, such as the gasoline usage, total miles driven, the driving and stopping times of the vehicles. Such information allows the company to better manage fuel and vehicle maintenance costs.  
         SUMMARY OF THE INVENTION  
         [0005]    The vehicle operation and position recording system according to the present invention records positional and operational data of the vehicle. The recording device includes a GPS receiver, a control unit and a storage device. In one embodiment, the storage device stores information on a portable storage medium to allow the recorded information to be retrieved from the in-vehicle recording device readily. Alternatively, a communication port can be provided in the recording system to allow an external computer to retrieve the positional data and operational from the storage unit.  
           [0006]    According to another aspect of the present invention, positional data is stored in the storage unit in a compressed format to take advantage of the slow changes in positional data even in a moving vehicle. In one embodiment, only values of fields of the current record that are changed from the immediately prior record are stored in the storage unit.  
           [0007]    The present invention allows recording the positions of a moving vehicle onto a storage medium while the vehicle is operating. The stored positional data are later retrieved for subsequent analysis. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0008]    [0008]FIG. 1 is a schematic diagram of an in-vehicle recording device  100 , in accordance with one embodiment of the present invention.  
         [0009]    [0009]FIG. 2 is a schematic diagram of storage device  200  coupled to in-vehicle recording device  100 , in one embodiment of the present invention.  
         [0010]    [0010]FIG. 3 is a flow chart  300  illustrating the operation of in-vehicle recording device  100  during data collection.  
         [0011]    [0011]FIG. 4 is a flow chart  400  illustrating the operation of in-vehicle recording device  100  during data transmission.  
         [0012]    [0012]FIG. 5 is a flow chart  500  illustrating the procedure for translating 8-bit hexadecimal values into ascii characters.  
         [0013]    [0013]FIG. 6 shows a full 16-byte data frame  600  used in storage unit  200 .  
         [0014]    [0014]FIG. 7 shows a compressed data record  700  used in storage unit  200 . 
     
    
       [0015]    The present invention is better understood upon consideration of the detailed description below and the accompanying drawings.  
       DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0016]    The present invention provides a vehicle operation and position recording system, which includes two components: an in-vehicle recording device and a base computer unit. The base computer unit, which retrieves and analyzes information stored in the in-vehicle recording device, can be implemented by any suitable computer, such as Intel Pentium-based personal computer.  
         [0017]    [0017]FIG. 1 is a schematic diagram of an in-vehicle recording device  100 , in accordance with one embodiment of the present invention. In-vehicle recording device  100  can be installed in a vehicle to monitor the various aspects of the vehicle&#39;s operation and its positions. In effect, the in-vehicle recording device functions in a way similar to the familiar “black box” found in airplanes.  
         [0018]    As shown in FIG. 1, in-vehicle recording device  100  is controlled by microprocessor  103  running firmware stored in read-only memory (ROM)  107 . Microprocessor  103  can be implemented, for example, by an industry standard 8051 type micro-controller. ROM  107  can be implemented by a suitable electronically programmable read-only memory (EPROM) device. In-vehicle recording device  100  interfaces with a global positioning system (GPS) receiver  102  (not shown) through connector  101  to allow in-vehicle recording device  100  to receive positional information from GPS. GPS receiver  102  can be a conventional GPS receiver circuit board, such as any GPS receiver circuit board based on the “Jupiter” chip set from Conexant Systems, Inc. In-vehicle recording device  100  also provides RS-232 port  104  for communication between in-vehicle recording device  100  and the vehicle&#39;s control system (not shown), which provides in-vehicle recording device  100  with such status and operational information as vehicle velocity, distance traveled, amount of fuel remaining in the fuel tank, and engine temperature. (Such information can be valuable in the maintenance of the vehicle). Alternatively, RS-232 port  104  can be used to couple an external modem to communicate with a base computer unit. For example, over RS-232 port  104 , the base computer unit may retrieve the stored data from in-vehicle recording device  100 . Microprocessor  103  controls RS-232 port  104  through a RS-232 driver/receiver integrated circuit  105 , which translates voltage levels between the CMOS voltage levels used in microprocessor  103  and the standard voltage levels of RS-232 port  104 . One suitable RS-232 driver/receiver integrated circuit is the Max233 integrated circuit available from Maxim Products Inc.  
         [0019]    In-vehicle recording device  100  records the operational and positional information of the vehicle onto a storage unit  200 . In this embodiment, storage unit  200  can be implemented by a “flash” memory card communicating with in-vehicle recording device  100  over a PCMCIA interface. Connector  108  is provided in-vehicle recording device  100  to provide the physical PCMCIA interface. A flash memory card includes a flash memory integrated circuit, which is a non-volatile memory device that can be electrically erasable and programmable. One implementation of storage device  200  is shown in FIG. 2. As shown in FIG. 2, in storage device  200 , connector  201  is provided to mate with connector  108  of in-vehicle recording device  100 . Storage device  200  includes a flash memory integrated circuit, such as the 16-Mbit flash memory device KM29W16000 available from Samsung Electronics, Inc.  
         [0020]    In this embodiment, in-vehicle recording device  100 , GPS receiver  102  and storage device  200  can be powered by battery  116  or from the vehicle&#39;s DC source plugged into 12 volts power receptacle  112 . A number of power regulator integrated circuits are provided to ensure a stable power supply is provided to the components of in-vehicle recording device  100 . For example, voltage regulator  110  steps down the 12 volt supply to 9 volts and voltage regulators  109  and  111  provides 5 volts supplies to GPS receiver  102  and storage unit  200 , respectively. Microprocessor  103  is provided a microprocessor supervisory circuit  117  to monitor its power supply. Voltage regulator  110  can be implemented by a 7809 voltage regulator, and voltage regulators  109  and  111  can be implemented by 7805 voltage regulators. 7809 and 7905 voltage regulators are available, for example, from Fairchild Semiconductor Corporation. Supervisory circuit  117  can be implemented, for example, by the MAX812 integrated circuit from Maxim Products, Inc.  
         [0021]    Three light emitting diodes (LEDs)  113 ,  114  and  115  are provided for visual inspection of in-vehicle recording device  100 &#39;s operations. LED  113  indicates that power is provided to in-vehicle recording device  100 . During data collection operation, LED  114  is pulsed every second to indicate active operation (i.e., data transmitted to storage unit  200 ), and LED  115  is illuminated when storage unit  200  is full.  
         [0022]    In-vehicle recording device  100  can be programmed to record information about the vehicle such as the vehicle&#39;s traveling time, the distance traveled, the vehicle&#39;s stopping time, and the number of stops made by the vehicle. Using GPS receiver  102 , in-vehicle recording device  100  can record the positions along the route taken by the vehicle. Based on the time difference between positions, a velocity of the vehicle can also be computed. The stored data of in-vehicle recording device  100  can be used to determine whether the vehicle has been operated in excess of the legal speed limit or whether the vehicle has been driven outside a permissible area.  
         [0023]    When storage unit  200  is full, or at appointed times, storage unit  200  can be removed from in-vehicle recording device  100  and read by a PCMCIA card reader in base computer unit. The base computer unit can be located at a home office where the fleet manager can monitor the operation of a fleet of vehicles. For example, vehicle information recorded by the in-vehicle recording device of each vehicle can be read back every week or once a month on the base computer unit. After reading or downloading the stored information into the base computer unit, storage unit  200  can be erased for reuse.  
         [0024]    [0024]FIG. 3 is a flow chart  300  illustrating the operation of in-vehicle recording device  100  during data collection. As shown in FIG. 3, GPS receiver  102  interrupts microprocessor  103  to provide microprocessor  103  positional information. At step  301 , microprocessor  103  services the interrupt by branching to the interrupt service routine which, upon entry, disables further interrupts (step  302 ). The firmware then, at steps  303 - 312 , examines successive received 8-bit data for the hexadecimal sequence “FF E8 03 31 00”, which serves as a preamble to a GPS data packet. If, at any of steps  303 ,  305 ,  307 ,  309  and  311 , the expected character in the sequence is not received, the firmware returns to step  302 , until the expected sequence is received. When the expected sequence is received (i.e., step  312 ), the successive bytes received at steps  313 - 315 , respectively, are the satellite number (which identifies the satellite providing the GPS data), the longitude and the latitude. In one embodiment, where GPS receiver  102  is enabled to provide velocity, direction and “sigma” (a statistical measure of variation), the firmware is programmed to receive these values at steps  316 - 318 . At step  319 , if the firmware is programmed to receive additional GPS data packets, the firmware repeats steps  302 - 319  until all data packets are received. At step  320 , the firmware retrieves the next address of the storage location in storage unit  200  and writes the received data as records in storage unit  200  at step  321 . Interrupt is then reenabled (step  322 ), and the firmware exits the interrupt handler at step  323 .  
         [0025]    According to another aspect of the present invention, a data compression scheme can be provided in storage unit  200 . In this embodiment, the full or “basic” positional data record is stored in a 16-byte frame, as shown in FIG. 6. In FIG. 6, full 16-byte data frame  600  includes (a) a protocol identifier having hexadecimal value “FE” (byte  0 ), (b) a status byte (byte  1 ) indicating input I/O status at bit  0  and GPS operational at bit  1 , (c) a 8-bit value identifying the GPS satellite (byte  2 ), (d) a 16-bit value representing the “GPS week value (bytes  3 - 4 ), (e) a 24-bit value representing the “GPS time” value (bytes  5 - 7 ), (f) a 32-bit value representing the longitude (bytes  8 - 11 ) and (g) a 32-bit value representing the latitude (bytes  12 - 15 ). In this embodiment, the protocol identifier in byte  0  also indicates the beginning of a full frame.  
         [0026]    Since position changes slowly relative to the data acquisition frequency even in a moving vehicle, each GPS record is likely to be the same as the immediately previous record, or differs from the immediately previous record in only one byte. When there is no change from the immediately previous GPS record or if the current record differs from the immediately previous record in one byte, the current record is represented by the hexadecimal value “FD” in byte  0 , to indicate a compressed frame. If the current record differs from the immediately previous record one byte, the value difference in the changed byte is provided in the next 2 bytes of the compressed frame, as shown in FIG. 7. FIG. 7 shows compressed data record  700  having the structure: (a) compressed record identifier “FD” (byte  0 ), (b) an 8-bit index pointing to the location of the changed byte (byte  1 ), and (c) the value of the changed byte. For example, if the value “FD0203” following a full frame “FE 08 04 3D04 00AC01 43145802 EFAADD0B”, then “FD0203” represents that byte  2  in the current frame has a hexadecimal value of “03” and all other bytes are unchanged (i.e., the current frame represents the value “FE 08 03 3D04 00AC01 43145802 EFAADD0B”). When in-vehicle recording device  100  is reset, or when a new full frame is written, the firmware writes a 8-bit value “FE” to signal the transition. Thus, significant space savings can be realized under this data compression scheme.  
         [0027]    [0027]FIG. 4 is a flow chart  400  illustrating the operation of in-vehicle recording device  100  during data transmission to a base computer unit over communication port (e.g., RS-232 port  104 ). At the beginning of a transmission session, the firmware sets microprocessor  103 &#39;s internal stack pointer to point to location  16 H (step  402 ), and enables interrupt (step  403 ). Next, at step  404 , timer  2  of microprocessor  103  is set to mode  2 , which allows timer  2  to be a baud rate generator for serial output port. In baud rate generator mode, timer  2  is set to generate a 9600 baud rate (step  405 ), the frequency of the transmit clock is set at step  406 , and an ascii character “#” is sent to the base computer unit. Interrupts for timers  0  and  1  are also enabled at steps  408  and  407 , respectively. Timer  1  is used as baud rate generator for receiving data from the base computer unit, and baud rate for receiving data from the base computer unit is set at step  409 . The firmware then waits at step  410  for the base computer unit to send the ascii sequence “OK” in response to the earlier “#” character. Upon receiving “OK”, the firmware then sends, at step  411 , the ascii “$” character (“start character”) to indicate readiness for receiving commands from the base computer unit. If the base computer unit desires to retrieve positional data stored in storage unit  200 , the base computer sends the ascii “&amp;” character (i.e., “send data command”), which is received by in-vehicle recording device  100  at step  412 . In-vehicle recording device then retrieves the next record from storage unit  200 , and transmits the record as a string of ascii characters at steps  413 - 414 . (Conversion from an 8-bit byte value to 2 ascii characters is discussed with respect FIG. 5 below). If the current record is not the last record, the firmware return to step  412  to receive the next send data command. Otherwise, at step  416 , in response to the next send data command, the firmware sends the base computer unit the ascii sequence “OK” to indicate completion of data transmission, and waits at step  417  for a response from the base computer unit. Upon receiving “OK” from in-vehicle recording device  100 , the base computer unit sends an erase data command to in-vehicle recording device  100 . Upon receiving the erase command (step  418 ), all data are erased (or marked for being written over) at step  419 .  
         [0028]    [0028]FIG. 5 is a flow chart  500  illustrating the procedure for translating 8-bit hexadecimal values into ascii characters. As shown in FIG. 5, at step  502 , an 8-bit byte of data is written into register or accumulator A. At step  503 , a copy of the byte (“back up value”) is stored in another register. At step  504 , the current value in accumulator A is bitwise ANDed with the hexadecimal value “OF” to return to accumulator A the least significant nibble (i.e., 4 bits) from the byte. Then, at step  505 , the hexadecimal value 10 is subtracted from the byte. At step  507 , if the resulting value from the subtraction is less than 0 (i.e., the byte has value between 0 and 9), a hexadecimal value 30H is added to the “original” value in accumulator A (i.e., the value in accumulator A before subtraction at step  505 ) and returned. Otherwise, i.e., the original value is between A and F, the original value is added to hexadecimal value 41H (step  507 ). The value now stored in accumulator A is the ascii character corresponding to the original value in accumulator A. This value is then transmitted to an indexed location in a buffer. (To simplify the discussion, the procedures of steps  505 - 507  is referred to as “step CA”). At step  508 , the index to the buffer is incremented to indicate the next data location. The back up value is then retrieved into accumulator A. At step  511 , the value in accumulator A is right-shifted 4 bit positions, so that the upper or more significant nibble becomes the lower or less significant nibble. Again, at step  512 , the current value in accumulator A is bitwise ANDed with the hexadecimal value 0F. The procedure of step CA is then repeated at step  513  to derive the corresponding ascii character to the lower nibble. This ascii character is then written to the current indexed location of the buffer. Steps  502 - 514  are repeated until all data have been converted.  
         [0029]    The embodiments described above are illustrative only and do not limit the invention. Furthermore, the present invention is not limited to any particular hardware/software implementation. In fact, hardware, software, or any combination thereof other than those described herein may be used in accordance to the principles of the invention.